diff options
author | Justin Holewinski <justin.holewinski@gmail.com> | 2011-03-15 13:24:15 +0000 |
---|---|---|
committer | Justin Holewinski <justin.holewinski@gmail.com> | 2011-03-15 13:24:15 +0000 |
commit | 625eec10fef5449f709ecd7a4e348aa94b29aef8 (patch) | |
tree | fc79c6ea7deb177749cf1fbb98d00d46d71065b3 /include | |
parent | 36b8e43a3e4ab97c4296d5574482ecf3c4169d85 (diff) | |
download | llvm-625eec10fef5449f709ecd7a4e348aa94b29aef8.tar.gz llvm-625eec10fef5449f709ecd7a4e348aa94b29aef8.tar.bz2 llvm-625eec10fef5449f709ecd7a4e348aa94b29aef8.tar.xz |
PTX: Set PTX 2.0 as the minimum supported version
- Remove PTX 1.4 code generation
- Change type of intrinsics to .v4.i32 instead of .v4.i16
- Add and/or/xor integer instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127677 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/IntrinsicsPTX.td | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/include/llvm/IntrinsicsPTX.td b/include/llvm/IntrinsicsPTX.td index cbcd56e5f2..01241fe4d4 100644 --- a/include/llvm/IntrinsicsPTX.td +++ b/include/llvm/IntrinsicsPTX.td @@ -12,14 +12,17 @@ //===----------------------------------------------------------------------===// let TargetPrefix = "ptx" in { - // FIXME Since PTX 2.0, special registers are redefined as v4i32 type - multiclass PTXReadSpecialRegisterIntrinsic_v4i16 { - def _r64 : Intrinsic<[llvm_i64_ty], [], [IntrNoMem]>; - def _v4i16 : Intrinsic<[llvm_v4i16_ty], [], [IntrNoMem]>; - def _x : Intrinsic<[llvm_i16_ty], [], [IntrNoMem]>; - def _y : Intrinsic<[llvm_i16_ty], [], [IntrNoMem]>; - def _z : Intrinsic<[llvm_i16_ty], [], [IntrNoMem]>; - def _w : Intrinsic<[llvm_i16_ty], [], [IntrNoMem]>; + multiclass PTXReadSpecialRegisterIntrinsic_v4i32 { +// FIXME: Do we need the 128-bit integer type version? +// def _r64 : Intrinsic<[llvm_i128_ty], [], [IntrNoMem]>; + +// FIXME: Enable this once v4i32 support is enabled in back-end. +// def _v4i16 : Intrinsic<[llvm_v4i32_ty], [], [IntrNoMem]>; + + def _x : Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>; + def _y : Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>; + def _z : Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>; + def _w : Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>; } class PTXReadSpecialRegisterIntrinsic_r32 @@ -29,15 +32,15 @@ let TargetPrefix = "ptx" in { : Intrinsic<[llvm_i64_ty], [], [IntrNoMem]>; } -defm int_ptx_read_tid : PTXReadSpecialRegisterIntrinsic_v4i16; -defm int_ptx_read_ntid : PTXReadSpecialRegisterIntrinsic_v4i16; +defm int_ptx_read_tid : PTXReadSpecialRegisterIntrinsic_v4i32; +defm int_ptx_read_ntid : PTXReadSpecialRegisterIntrinsic_v4i32; def int_ptx_read_laneid : PTXReadSpecialRegisterIntrinsic_r32; def int_ptx_read_warpid : PTXReadSpecialRegisterIntrinsic_r32; def int_ptx_read_nwarpid : PTXReadSpecialRegisterIntrinsic_r32; -defm int_ptx_read_ctaid : PTXReadSpecialRegisterIntrinsic_v4i16; -defm int_ptx_read_nctaid : PTXReadSpecialRegisterIntrinsic_v4i16; +defm int_ptx_read_ctaid : PTXReadSpecialRegisterIntrinsic_v4i32; +defm int_ptx_read_nctaid : PTXReadSpecialRegisterIntrinsic_v4i32; def int_ptx_read_smid : PTXReadSpecialRegisterIntrinsic_r32; def int_ptx_read_nsmid : PTXReadSpecialRegisterIntrinsic_r32; |