From: Matt Arsenault Date: Wed, 19 Mar 2014 22:19:43 +0000 (+0000) Subject: R600/SI: Don't display the GDS bit. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9c0b2d08d31d5053e8894cf23d97d0134ce764ff;p=oota-llvm.git R600/SI: Don't display the GDS bit. It isn't actually used now, and probably never will be, plus it makes tests less annoying. I also think SC prints GDS instructions as a separate instruction name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204270 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/R600/SIInstrInfo.td b/lib/Target/R600/SIInstrInfo.td index 57b36b3298a..8973f2898c9 100644 --- a/lib/Target/R600/SIInstrInfo.td +++ b/lib/Target/R600/SIInstrInfo.td @@ -395,7 +395,7 @@ class DS_Load_Helper op, string asm, RegisterClass regClass> : DS_1A < op, (outs regClass:$vdst), (ins i1imm:$gds, VReg_32:$addr, i16imm:$offset), - asm#" $gds, $vdst, $addr, $offset, [M0]", + asm#" $vdst, $addr, $offset, [M0]", []> { let data0 = 0; let data1 = 0; @@ -407,7 +407,7 @@ class DS_Store_Helper op, string asm, RegisterClass regClass> : DS_1A < op, (outs), (ins i1imm:$gds, VReg_32:$addr, VReg_32:$data0, i16imm:$offset), - asm#" $gds, $addr, $data0, $offset [M0]", + asm#" $addr, $data0, $offset [M0]", []> { let data1 = 0; let mayStore = 1; @@ -419,7 +419,7 @@ class DS_1A1D_RET op, string asm, RegisterClass rc> : DS_1A < op, (outs rc:$vdst), (ins i1imm:$gds, VReg_32:$addr, VReg_32:$data0, i16imm:$offset), - asm#" $gds, $vdst, $addr, $data0, $offset, [M0]", + asm#" $vdst, $addr, $data0, $offset, [M0]", []> { let data1 = 0; diff --git a/test/CodeGen/R600/32-bit-local-address-space.ll b/test/CodeGen/R600/32-bit-local-address-space.ll index 25ad97e2ea2..362cc825dff 100644 --- a/test/CodeGen/R600/32-bit-local-address-space.ll +++ b/test/CodeGen/R600/32-bit-local-address-space.ll @@ -69,7 +69,7 @@ define void @mul_32bit_ptr(float addrspace(1)* %out, [3 x float] addrspace(3)* % ; CHECK-LABEL: @infer_ptr_alignment_global_offset: ; CHECK: V_MOV_B32_e32 [[REG:v[0-9]+]], 0 -; CHECK: DS_READ_B32 v{{[0-9]+}}, 0, [[REG]] +; CHECK: DS_READ_B32 v{{[0-9]+}}, [[REG]] define void @infer_ptr_alignment_global_offset(float addrspace(1)* %out, i32 %tid) { %val = load float addrspace(3)* @g_lds store float %val, float addrspace(1)* %out diff --git a/test/CodeGen/R600/atomic_load_add.ll b/test/CodeGen/R600/atomic_load_add.ll index 0bc48a3590b..cb0242cd0c9 100644 --- a/test/CodeGen/R600/atomic_load_add.ll +++ b/test/CodeGen/R600/atomic_load_add.ll @@ -4,7 +4,7 @@ ; R600-CHECK-LABEL: @atomic_add_local ; R600-CHECK: LDS_ADD * ; SI-CHECK-LABEL: @atomic_add_local -; SI-CHECK: DS_ADD_U32_RTN 0 +; SI-CHECK: DS_ADD_U32_RTN define void @atomic_add_local(i32 addrspace(3)* %local) { entry: %0 = atomicrmw volatile add i32 addrspace(3)* %local, i32 5 seq_cst @@ -14,7 +14,7 @@ entry: ; R600-CHECK-LABEL: @atomic_add_ret_local ; R600-CHECK: LDS_ADD_RET * ; SI-CHECK-LABEL: @atomic_add_ret_local -; SI-CHECK: DS_ADD_U32_RTN 0 +; SI-CHECK: DS_ADD_U32_RTN define void @atomic_add_ret_local(i32 addrspace(1)* %out, i32 addrspace(3)* %local) { entry: %0 = atomicrmw volatile add i32 addrspace(3)* %local, i32 5 seq_cst diff --git a/test/CodeGen/R600/atomic_load_sub.ll b/test/CodeGen/R600/atomic_load_sub.ll index e4a682932c8..7c26e529a36 100644 --- a/test/CodeGen/R600/atomic_load_sub.ll +++ b/test/CodeGen/R600/atomic_load_sub.ll @@ -4,7 +4,7 @@ ; R600-CHECK-LABEL: @atomic_sub_local ; R600-CHECK: LDS_SUB * ; SI-CHECK-LABEL: @atomic_sub_local -; SI-CHECK: DS_SUB_U32_RTN 0 +; SI-CHECK: DS_SUB_U32_RTN define void @atomic_sub_local(i32 addrspace(3)* %local) { entry: %0 = atomicrmw volatile sub i32 addrspace(3)* %local, i32 5 seq_cst @@ -14,7 +14,7 @@ entry: ; R600-CHECK-LABEL: @atomic_sub_ret_local ; R600-CHECK: LDS_SUB_RET * ; SI-CHECK-LABEL: @atomic_sub_ret_local -; SI-CHECK: DS_SUB_U32_RTN 0 +; SI-CHECK: DS_SUB_U32_RTN define void @atomic_sub_ret_local(i32 addrspace(1)* %out, i32 addrspace(3)* %local) { entry: %0 = atomicrmw volatile sub i32 addrspace(3)* %local, i32 5 seq_cst diff --git a/test/CodeGen/R600/local-memory-two-objects.ll b/test/CodeGen/R600/local-memory-two-objects.ll index e2d840645d0..fdb2a5d292d 100644 --- a/test/CodeGen/R600/local-memory-two-objects.ll +++ b/test/CodeGen/R600/local-memory-two-objects.ll @@ -17,8 +17,8 @@ ; this consistently on evergreen GPUs. ; EG-CHECK: LDS_WRITE ; EG-CHECK: LDS_WRITE -; SI-CHECK: DS_WRITE_B32 0, {{v[0-9]*}}, v[[ADDRW:[0-9]*]] -; SI-CHECK-NOT: DS_WRITE_B32 0, {{v[0-9]*}}, v[[ADDRW]] +; SI-CHECK: DS_WRITE_B32 {{v[0-9]*}}, v[[ADDRW:[0-9]*]] +; SI-CHECK-NOT: DS_WRITE_B32 {{v[0-9]*}}, v[[ADDRW]] ; GROUP_BARRIER must be the last instruction in a clause ; EG-CHECK: GROUP_BARRIER @@ -27,8 +27,8 @@ ; Make sure the lds reads are using different addresses. ; EG-CHECK: LDS_READ_RET {{[*]*}} OQAP, {{PV|T}}[[ADDRR:[0-9]*\.[XYZW]]] ; EG-CHECK-NOT: LDS_READ_RET {{[*]*}} OQAP, T[[ADDRR]] -; SI-CHECK: DS_READ_B32 {{v[0-9]+}}, 0, [[ADDRR:v[0-9]+]] -; SI-CHECK-NOT: DS_READ_B32 {{v[0-9]+}}, 0, [[ADDRR]] +; SI-CHECK: DS_READ_B32 {{v[0-9]+}}, [[ADDRR:v[0-9]+]] +; SI-CHECK-NOT: DS_READ_B32 {{v[0-9]+}}, [[ADDRR]] define void @local_memory_two_objects(i32 addrspace(1)* %out) { entry: diff --git a/test/CodeGen/R600/local-memory.ll b/test/CodeGen/R600/local-memory.ll index 8db78ad46a6..6ebe41d0a8f 100644 --- a/test/CodeGen/R600/local-memory.ll +++ b/test/CodeGen/R600/local-memory.ll @@ -18,7 +18,7 @@ ; EG-CHECK: LDS_WRITE ; SI-CHECK-NOT: S_WQM_B64 -; SI-CHECK: DS_WRITE_B32 0 +; SI-CHECK: DS_WRITE_B32 ; GROUP_BARRIER must be the last instruction in a clause ; EG-CHECK: GROUP_BARRIER @@ -26,7 +26,7 @@ ; SI-CHECK: S_BARRIER ; EG-CHECK: LDS_READ_RET -; SI-CHECK: DS_READ_B32 {{v[0-9]+}}, 0 +; SI-CHECK: DS_READ_B32 {{v[0-9]+}}, define void @local_memory(i32 addrspace(1)* %out) { entry: