diff options
| author | Justin Holewinski <justin.holewinski@gmail.com> | 2011-09-27 01:04:47 +0000 |
|---|---|---|
| committer | Justin Holewinski <justin.holewinski@gmail.com> | 2011-09-27 01:04:47 +0000 |
| commit | 9f01f893860d38a6b7ea8bfabe8aa45a60e5d032 (patch) | |
| tree | c2676a73ce8e7218e40426bbcda5fe2be3c60654 /llvm/lib/Target | |
| parent | 90f90da156a56ce2a1b1b55c0a6daf2941275592 (diff) | |
| download | bcm5719-llvm-9f01f893860d38a6b7ea8bfabe8aa45a60e5d032.tar.gz bcm5719-llvm-9f01f893860d38a6b7ea8bfabe8aa45a60e5d032.zip | |
PTX: Add support for sitofp in backend
llvm-svn: 140593
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/PTX/PTXInstrInfo.td | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/llvm/lib/Target/PTX/PTXInstrInfo.td b/llvm/lib/Target/PTX/PTXInstrInfo.td index a33bd239ba2..56f71443131 100644 --- a/llvm/lib/Target/PTX/PTXInstrInfo.td +++ b/llvm/lib/Target/PTX/PTXInstrInfo.td @@ -826,6 +826,19 @@ def CVT_f32_f64 : InstPTX<(outs RegF32:$d), (ins RegF64:$a), "cvt.rn.f32.f64\t$d, $a", [(set RegF32:$d, (fround RegF64:$a))]>; +def CVT_f32_s16 + : InstPTX<(outs RegF32:$d), (ins RegI16:$a), "cvt.rn.f32.s16\t$d, $a", + [(set RegF32:$d, (sint_to_fp RegI16:$a))]>; + +def CVT_f32_s32 + : InstPTX<(outs RegF32:$d), (ins RegI32:$a), "cvt.rn.f32.s32\t$d, $a", + [(set RegF32:$d, (sint_to_fp RegI32:$a))]>; + +def CVT_f32_s64 + : InstPTX<(outs RegF32:$d), (ins RegI64:$a), "cvt.rn.f32.s64\t$d, $a", + [(set RegF32:$d, (sint_to_fp RegI64:$a))]>; + + // Conversion to f64 def CVT_f64_pred @@ -849,6 +862,18 @@ def CVT_f64_f32 : InstPTX<(outs RegF64:$d), (ins RegF32:$a), "cvt.f64.f32\t$d, $a", [(set RegF64:$d, (fextend RegF32:$a))]>; +def CVT_f64_s16 + : InstPTX<(outs RegF64:$d), (ins RegI16:$a), "cvt.rn.f64.s16\t$d, $a", + [(set RegF64:$d, (sint_to_fp RegI16:$a))]>; + +def CVT_f64_s32 + : InstPTX<(outs RegF64:$d), (ins RegI32:$a), "cvt.rn.f64.s32\t$d, $a", + [(set RegF64:$d, (sint_to_fp RegI32:$a))]>; + +def CVT_f64_s64 + : InstPTX<(outs RegF64:$d), (ins RegI64:$a), "cvt.rn.f64.s64\t$d, $a", + [(set RegF64:$d, (sint_to_fp RegI64:$a))]>; + // NOTE: These are temporarily here to help test some Clang-generated code. // We really need to properly introduce anyext and bitconvert into the back-end. // ANY_EXTEND |

