PTX: Adjust rounding modes
authorJustin Holewinski <justin.holewinski@gmail.com>
Fri, 17 Jun 2011 12:12:42 +0000 (12:12 +0000)
committerJustin Holewinski <justin.holewinski@gmail.com>
Fri, 17 Jun 2011 12:12:42 +0000 (12:12 +0000)
commit707fd44038edf9ec0d3fe7b99d51e7c71e36f9d0
tree85388ccb43c10f0f9e8bd902b7a794e2071fd943
parentf1b7e94add71403c52ae00faf7b0528b76fb6e55
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133253 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/PTX/PTXInstrInfo.td
test/CodeGen/PTX/add.ll
test/CodeGen/PTX/cvt.ll
test/CodeGen/PTX/fdiv-sm10.ll
test/CodeGen/PTX/fdiv-sm13.ll
test/CodeGen/PTX/mul.ll
test/CodeGen/PTX/sub.ll