summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJustin Holewinski <justin.holewinski@gmail.com>2011-03-15 13:24:15 +0000
committerJustin Holewinski <justin.holewinski@gmail.com>2011-03-15 13:24:15 +0000
commit625eec10fef5449f709ecd7a4e348aa94b29aef8 (patch)
treefc79c6ea7deb177749cf1fbb98d00d46d71065b3 /include
parent36b8e43a3e4ab97c4296d5574482ecf3c4169d85 (diff)
downloadllvm-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.td27
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;