summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/PTX/mul.ll
diff options
context:
space:
mode:
authorJustin Holewinski <justin.holewinski@gmail.com>2011-06-17 12:12:42 +0000
committerJustin Holewinski <justin.holewinski@gmail.com>2011-06-17 12:12:42 +0000
commit3604d9a42197c492105b590b8bb7b99f295d804a (patch)
treea70844de62b7d96dbec7f8b993bdaf649fc9f4ac /llvm/test/CodeGen/PTX/mul.ll
parentb2507b3926125100c7e27f95b3abddd0c2a22f5b (diff)
downloadbcm5719-llvm-3604d9a42197c492105b590b8bb7b99f295d804a.tar.gz
bcm5719-llvm-3604d9a42197c492105b590b8bb7b99f295d804a.zip
PTX: Adjust rounding modes
* rounding modes for fp add, mul, sub now use .rn * float -> int rounding correctly uses .rzi not .rni * 32bit fdiv for sm13 uses div.rn (instead of div.approx) * 32bit fdiv for sm10 now uses div (instead of div.approx) Approx is not IEEE 754 compatible (and should be optionally set by a flag to the backend instead). The .rn rounding modifier is the PTX default anyway, but it's better to be explicit. All these modifiers should be available by using __fmul_rz functions for example, but support will need to be added for this in the backend. Patch by Dan Bailey llvm-svn: 133253
Diffstat (limited to 'llvm/test/CodeGen/PTX/mul.ll')
-rw-r--r--llvm/test/CodeGen/PTX/mul.ll8
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/test/CodeGen/PTX/mul.ll b/llvm/test/CodeGen/PTX/mul.ll
index 93f94e35096..2093556dac4 100644
--- a/llvm/test/CodeGen/PTX/mul.ll
+++ b/llvm/test/CodeGen/PTX/mul.ll
@@ -11,28 +11,28 @@
;}
define ptx_device float @t1_f32(float %x, float %y) {
-; CHECK: mul.f32 r0, r1, r2
+; CHECK: mul.rn.f32 r0, r1, r2
; CHECK-NEXT: ret;
%z = fmul float %x, %y
ret float %z
}
define ptx_device double @t1_f64(double %x, double %y) {
-; CHECK: mul.f64 rd0, rd1, rd2
+; CHECK: mul.rn.f64 rd0, rd1, rd2
; CHECK-NEXT: ret;
%z = fmul double %x, %y
ret double %z
}
define ptx_device float @t2_f32(float %x) {
-; CHECK: mul.f32 r0, r1, 0F40A00000;
+; CHECK: mul.rn.f32 r0, r1, 0F40A00000;
; CHECK-NEXT: ret;
%z = fmul float %x, 5.0
ret float %z
}
define ptx_device double @t2_f64(double %x) {
-; CHECK: mul.f64 rd0, rd1, 0D4014000000000000;
+; CHECK: mul.rn.f64 rd0, rd1, 0D4014000000000000;
; CHECK-NEXT: ret;
%z = fmul double %x, 5.0
ret double %z
OpenPOWER on IntegriCloud