]> granicus.if.org Git - llvm/commitdiff
AMDGPU: Fix capitalized register names in asm constraints
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 14 Jun 2019 21:16:06 +0000 (21:16 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 14 Jun 2019 21:16:06 +0000 (21:16 +0000)
This was a workaround a long time ago, but the canonical lower case
names work now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@363459 91177308-0d34-0410-b5e6-96231b3b80d8

12 files changed:
test/CodeGen/AMDGPU/branch-relax-spill.ll
test/CodeGen/AMDGPU/call-preserved-registers.ll
test/CodeGen/AMDGPU/early-if-convert.ll
test/CodeGen/AMDGPU/frame-index-elimination.ll
test/CodeGen/AMDGPU/inline-constraints.ll
test/CodeGen/AMDGPU/llvm.amdgcn.interp.f16.ll
test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
test/CodeGen/AMDGPU/spill-m0.ll
test/CodeGen/AMDGPU/uaddo.ll
test/CodeGen/AMDGPU/usubo.ll

index 3d6906301d7e2441a8cde5f32366d7b16662964c..c81128646a8a53203711ab718d459187defea578 100644 (file)
@@ -111,8 +111,8 @@ entry:
   %sgpr101 = tail call i32 asm sideeffect "s_mov_b32 s101, 0", "={s101}"() #0
   %sgpr102 = tail call i32 asm sideeffect "s_mov_b32 s102, 0", "={s102}"() #0
   %sgpr103 = tail call i32 asm sideeffect "s_mov_b32 s103, 0", "={s103}"() #0
-  %vcc_lo = tail call i32 asm sideeffect "s_mov_b32 $0, 0", "={VCC_LO}"() #0
-  %vcc_hi = tail call i32 asm sideeffect "s_mov_b32 $0, 0", "={VCC_HI}"() #0
+  %vcc_lo = tail call i32 asm sideeffect "s_mov_b32 $0, 0", "={vcc_lo}"() #0
+  %vcc_hi = tail call i32 asm sideeffect "s_mov_b32 $0, 0", "={vcc_hi}"() #0
   %cmp = icmp eq i32 %cnd, 0
   br i1 %cmp, label %bb3, label %bb2 ; +8 dword branch
 
index 2fef190f8ccab061f930e68eb2bb55da58840494..c0256218a16ff8e44ed8df3b3d48fee9d156c6f8 100644 (file)
@@ -85,7 +85,7 @@ define void @void_func_void_clobber_s30_s31() #2 {
 ; GCN-NEXT: ;;#ASMEND
 ; GCN-NEXT: s_setpc_b64 s[30:31]
 define hidden void @void_func_void_clobber_vcc() #2 {
-  call void asm sideeffect "", "~{VCC}"() #0
+  call void asm sideeffect "", "~{vcc}"() #0
   ret void
 }
 
index 11826d124df95fe6b5949f7be6f7c44697881260..8e5aa8aa290b493c7678cfea4f52367b8d578ead 100644 (file)
@@ -65,7 +65,7 @@ entry:
   br i1 %cc, label %if, label %endif
 
 if:
-  call void asm "; clobber $0", "~{VCC}"() #0
+  call void asm "; clobber $0", "~{vcc}"() #0
   %u = add i32 %v, %v
   br label %endif
 
index 450146f23bb07290c03584f2acf2ded7c65e2c87..1e97aa42df355fdfd4a7ed245baeec0e293de507 100644 (file)
@@ -218,11 +218,11 @@ define void @func_other_fi_user_non_inline_imm_offset_i32() #0 {
 define void @func_other_fi_user_non_inline_imm_offset_i32_vcc_live() #0 {
   %alloca0 = alloca [128 x i32], align 4, addrspace(5)
   %alloca1 = alloca [8 x i32], align 4, addrspace(5)
-  %vcc = call i64 asm sideeffect "; def $0", "={VCC}"()
+  %vcc = call i64 asm sideeffect "; def $0", "={vcc}"()
   %gep0 = getelementptr inbounds [128 x i32], [128 x i32] addrspace(5)* %alloca0, i32 0, i32 65
   %gep1 = getelementptr inbounds [8 x i32], [8 x i32] addrspace(5)* %alloca1, i32 0, i32 0
   store volatile i32 7, i32 addrspace(5)* %gep0
-  call void asm sideeffect "; use $0", "{VCC}"(i64 %vcc)
+  call void asm sideeffect "; use $0", "{vcc}"(i64 %vcc)
   %ptrtoint = ptrtoint i32 addrspace(5)* %gep1 to i32
   %mul = mul i32 %ptrtoint, 9
   store volatile i32 %mul, i32 addrspace(3)* undef
index e923739ca8f840d4faaf5fd03dfc145341fe16a8..8a4af42fa068d054e136b657aa56bf96a5ca6423 100644 (file)
@@ -36,7 +36,7 @@ entry:
 ; GCN: s_mov_b32 [[COPY_M0:s[0-9]+]], m0
 ; GCN: ; use [[COPY_M0]]
 define amdgpu_kernel void @inline_sreg_constraint_m0() {
-  %m0 = tail call i32 asm sideeffect "s_mov_b32 m0, -1", "={M0}"()
+  %m0 = tail call i32 asm sideeffect "s_mov_b32 m0, -1", "={m0}"()
   tail call void asm sideeffect "; use $0", "s"(i32 %m0)
   ret void
 }
index fb08e6d8890671456c060e28b06b084c7df48ca5..37417a9bc36198a08569b81b45795683c2fa4c08 100644 (file)
@@ -106,7 +106,7 @@ define amdgpu_ps half @interp_p1_m0_setup(float inreg %i, float inreg %j, i32 in
 ; GFX8-16BANK-NEXT:    v_add_f16_e32 v0, s3, v0
 ; GFX8-16BANK-NEXT:    ; return to shader part epilog
 main_body:
-  %mx = call i32 asm sideeffect "s_mov_b32 m0, 0", "={M0}"() #0
+  %mx = call i32 asm sideeffect "s_mov_b32 m0, 0", "={m0}"() #0
   %p1_0 = call float @llvm.amdgcn.interp.p1.f16(float %i, i32 1, i32 2, i1 0, i32 %m0)
   %p2_0 = call half @llvm.amdgcn.interp.p2.f16(float %p1_0, float %j, i32 1, i32 2, i1 0, i32 %m0)
   %my = trunc i32 %mx to i16
@@ -170,7 +170,7 @@ define amdgpu_ps half @interp_p2_m0_setup(float inreg %i, float inreg %j, i32 in
 ; GFX8-16BANK-NEXT:    ; return to shader part epilog
 main_body:
   %p1_0 = call float @llvm.amdgcn.interp.p1.f16(float %i, i32 1, i32 2, i1 0, i32 %m0)
-  %mx = call i32 asm sideeffect "s_mov_b32 m0, 0", "={M0}"() #0
+  %mx = call i32 asm sideeffect "s_mov_b32 m0, 0", "={m0}"() #0
   %p2_0 = call half @llvm.amdgcn.interp.p2.f16(float %p1_0, float %j, i32 1, i32 2, i1 0, i32 %m0)
   %my = trunc i32 %mx to i16
   %mh = bitcast i16 %my to half
index 9f5c809455ea35d63cb79db59d8c1b8fe1667c93..bc7ef55c5c8c9b79db20cbcf5a73eeba4646248e 100644 (file)
@@ -26,7 +26,7 @@ define amdgpu_kernel void @test_readfirstlane_imm(i32 addrspace(1)* %out) #1 {
 ; CHECK: v_mov_b32_e32 [[VVAL:v[0-9]]], [[COPY_M0]]
 ; CHECK: v_readfirstlane_b32 s{{[0-9]+}}, [[VVAL]]
 define amdgpu_kernel void @test_readfirstlane_m0(i32 addrspace(1)* %out) #1 {
-  %m0 = call i32 asm "s_mov_b32 m0, -1", "={M0}"()
+  %m0 = call i32 asm "s_mov_b32 m0, -1", "={m0}"()
   %readfirstlane = call i32 @llvm.amdgcn.readfirstlane(i32 %m0)
   store i32 %readfirstlane, i32 addrspace(1)* %out, align 4
   ret void
index cbd8f0a9c23a3bcd41e5d5afd9d0f9a1b02960e0..d8bd87047ca8c2e1e59b483447f981113008736e 100644 (file)
@@ -40,7 +40,7 @@ define amdgpu_kernel void @test_readlane_vregs(i32 addrspace(1)* %out, <2 x i32>
 ; CHECK: v_mov_b32_e32 [[VVAL:v[0-9]]], [[COPY_M0]]
 ; CHECK: v_readlane_b32 s{{[0-9]+}}, [[VVAL]], s{{[0-9]+}}
 define amdgpu_kernel void @test_readlane_m0_sreg(i32 addrspace(1)* %out, i32 %src1) #1 {
-  %m0 = call i32 asm "s_mov_b32 m0, -1", "={M0}"()
+  %m0 = call i32 asm "s_mov_b32 m0, -1", "={m0}"()
   %readlane = call i32 @llvm.amdgcn.readlane(i32 %m0, i32 %src1)
   store i32 %readlane, i32 addrspace(1)* %out, align 4
   ret void
index 1b9a762f25b131dd09e95f51ebcca0d5d08cae49..2d0ebe8edb7289c0df9a8608ba8b7eeff4b07143 100644 (file)
@@ -42,7 +42,7 @@ define amdgpu_kernel void @test_writelane_vreg_lane(i32 addrspace(1)* %out, <2 x
 ; CHECK: v_writelane_b32 v{{[0-9]+}}, [[COPY_M0]], s{{[0-9]+}}
 define amdgpu_kernel void @test_writelane_m0_sreg(i32 addrspace(1)* %out, i32 %src1) #1 {
   %oldval = load i32, i32 addrspace(1)* %out
-  %m0 = call i32 asm "s_mov_b32 m0, -1", "={M0}"()
+  %m0 = call i32 asm "s_mov_b32 m0, -1", "={m0}"()
   %writelane = call i32 @llvm.amdgcn.writelane(i32 %m0, i32 %src1, i32 %oldval)
   store i32 %writelane, i32 addrspace(1)* %out, align 4
   ret void
index 509b7a2dd68556c2e3f2ba57d279aa209a81ac48..641b1c90f8d6e61610384dda831e44699bada50b 100644 (file)
@@ -43,7 +43,7 @@
 ; GCN: s_add_i32 s{{[0-9]+}}, m0, 1
 define amdgpu_kernel void @spill_m0(i32 %cond, i32 addrspace(1)* %out) #0 {
 entry:
-  %m0 = call i32 asm sideeffect "s_mov_b32 m0, 0", "={M0}"() #0
+  %m0 = call i32 asm sideeffect "s_mov_b32 m0, 0", "={m0}"() #0
   %cmp0 = icmp eq i32 %cond, 0
   br i1 %cmp0, label %if, label %endif
 
@@ -52,7 +52,7 @@ if:
   br label %endif
 
 endif:
-  %foo = call i32 asm sideeffect "s_add_i32 $0, $1, 1", "=s,{M0}"(i32 %m0) #0
+  %foo = call i32 asm sideeffect "s_add_i32 $0, $1, 1", "=s,{m0}"(i32 %m0) #0
   store i32 %foo, i32 addrspace(1)* %out
   ret void
 }
@@ -138,9 +138,9 @@ endif:                                            ; preds = %else, %if
 ; GCN-NOT: s_buffer_load_dword m0
 define amdgpu_kernel void @m0_unavailable_spill(i32 %m0.arg) #0 {
 main_body:
-  %m0 = call i32 asm sideeffect "; def $0, 1", "={M0}"() #0
+  %m0 = call i32 asm sideeffect "; def $0, 1", "={m0}"() #0
   %tmp = call float @llvm.amdgcn.interp.mov(i32 2, i32 0, i32 0, i32 %m0.arg)
-  call void asm sideeffect "; clobber $0", "~{M0}"() #0
+  call void asm sideeffect "; clobber $0", "~{m0}"() #0
   %cmp = fcmp ueq float 0.000000e+00, %tmp
    br i1 %cmp, label %if, label %else
 
@@ -191,14 +191,14 @@ endif:
 ; TOSMEM: s_dcache_wb
 ; TOSMEM: s_endpgm
 define amdgpu_kernel void @restore_m0_lds(i32 %arg) {
-  %m0 = call i32 asm sideeffect "s_mov_b32 m0, 0", "={M0}"() #0
+  %m0 = call i32 asm sideeffect "s_mov_b32 m0, 0", "={m0}"() #0
   %sval = load volatile i64, i64 addrspace(4)* undef
   %cmp = icmp eq i32 %arg, 0
   br i1 %cmp, label %ret, label %bb
 
 bb:
   store volatile i64 %sval, i64 addrspace(3)* undef
-  call void asm sideeffect "; use $0", "{M0}"(i32 %m0) #0
+  call void asm sideeffect "; use $0", "{m0}"(i32 %m0) #0
   br label %ret
 
 ret:
index d2128bb1ea1dd469dccbce35e707ea7763d7d055..d867ceb3008a205988f3f3570f8e3cb40ac8fedb 100644 (file)
@@ -83,7 +83,7 @@ define amdgpu_kernel void @v_uaddo_i32_novcc(i32 addrspace(1)* %out, i1 addrspac
   %val = extractvalue { i32, i1 } %uadd, 0
   %carry = extractvalue { i32, i1 } %uadd, 1
   store volatile i32 %val, i32 addrspace(1)* %out, align 4
-  call void asm sideeffect "", "~{VCC}"() #0
+  call void asm sideeffect "", "~{vcc}"() #0
   store volatile i1 %carry, i1 addrspace(1)* %carryout
   ret void
 }
index 94cc45329f9d20a166401ab0bc3ed1299f807dda..f7eb8570090f4aae39407e42184b57ba871c236f 100644 (file)
@@ -84,7 +84,7 @@ define amdgpu_kernel void @v_usubo_i32_novcc(i32 addrspace(1)* %out, i1 addrspac
   %val = extractvalue { i32, i1 } %uadd, 0
   %carry = extractvalue { i32, i1 } %uadd, 1
   store volatile i32 %val, i32 addrspace(1)* %out, align 4
-  call void asm sideeffect "", "~{VCC}"() #0
+  call void asm sideeffect "", "~{vcc}"() #0
   store volatile i1 %carry, i1 addrspace(1)* %carryout
   ret void
 }