diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2014-09-05 14:07:59 +0000 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2014-09-05 14:07:59 +0000 |
commit | 80942a1b5035a547f5e2a1e4318bd305aa388b0c (patch) | |
tree | 1c183334879f1acc865091a47dd1464be27dd728 /llvm/test/CodeGen | |
parent | 05a60b7ac366bbad4217ad8fa008b45177dc2400 (diff) | |
download | bcm5719-llvm-80942a1b5035a547f5e2a1e4318bd305aa388b0c.tar.gz bcm5719-llvm-80942a1b5035a547f5e2a1e4318bd305aa388b0c.zip |
R600/SI: Use S_ADD_U32 and S_SUB_U32 for low half of 64-bit operations
https://bugs.freedesktop.org/show_bug.cgi?id=83416
llvm-svn: 217248
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r-- | llvm/test/CodeGen/R600/add.ll | 2 | ||||
-rw-r--r-- | llvm/test/CodeGen/R600/add_i64.ll | 4 | ||||
-rw-r--r-- | llvm/test/CodeGen/R600/ssubo.ll | 2 | ||||
-rw-r--r-- | llvm/test/CodeGen/R600/sub.ll | 2 | ||||
-rw-r--r-- | llvm/test/CodeGen/R600/trunc.ll | 2 | ||||
-rw-r--r-- | llvm/test/CodeGen/R600/uaddo.ll | 2 | ||||
-rw-r--r-- | llvm/test/CodeGen/R600/usubo.ll | 2 |
7 files changed, 8 insertions, 8 deletions
diff --git a/llvm/test/CodeGen/R600/add.ll b/llvm/test/CodeGen/R600/add.ll index 711a2bc4177..f62c9d6bd64 100644 --- a/llvm/test/CodeGen/R600/add.ll +++ b/llvm/test/CodeGen/R600/add.ll @@ -117,7 +117,7 @@ entry: } ; FUNC-LABEL: @add64 -; SI-CHECK: S_ADD_I32 +; SI-CHECK: S_ADD_U32 ; SI-CHECK: S_ADDC_U32 define void @add64(i64 addrspace(1)* %out, i64 %a, i64 %b) { entry: diff --git a/llvm/test/CodeGen/R600/add_i64.ll b/llvm/test/CodeGen/R600/add_i64.ll index dac4f173e31..5be969ce568 100644 --- a/llvm/test/CodeGen/R600/add_i64.ll +++ b/llvm/test/CodeGen/R600/add_i64.ll @@ -43,9 +43,9 @@ define void @sgpr_operand_reversed(i64 addrspace(1)* noalias %out, i64 addrspace ; SI-LABEL: @test_v2i64_sreg: -; SI: S_ADD_I32 +; SI: S_ADD_U32 ; SI: S_ADDC_U32 -; SI: S_ADD_I32 +; SI: S_ADD_U32 ; SI: S_ADDC_U32 define void @test_v2i64_sreg(<2 x i64> addrspace(1)* noalias %out, <2 x i64> %a, <2 x i64> %b) { %result = add <2 x i64> %a, %b diff --git a/llvm/test/CodeGen/R600/ssubo.ll b/llvm/test/CodeGen/R600/ssubo.ll index b330276ae9e..066cdf5cd93 100644 --- a/llvm/test/CodeGen/R600/ssubo.ll +++ b/llvm/test/CodeGen/R600/ssubo.ll @@ -38,7 +38,7 @@ define void @v_ssubo_i32(i32 addrspace(1)* %out, i1 addrspace(1)* %carryout, i32 } ; FUNC-LABEL: @s_ssubo_i64 -; SI: S_SUB_I32 +; SI: S_SUB_U32 ; SI: S_SUBB_U32 define void @s_ssubo_i64(i64 addrspace(1)* %out, i1 addrspace(1)* %carryout, i64 %a, i64 %b) nounwind { %ssub = call { i64, i1 } @llvm.ssub.with.overflow.i64(i64 %a, i64 %b) nounwind diff --git a/llvm/test/CodeGen/R600/sub.ll b/llvm/test/CodeGen/R600/sub.ll index 8e64148142d..a8196a0ea4d 100644 --- a/llvm/test/CodeGen/R600/sub.ll +++ b/llvm/test/CodeGen/R600/sub.ll @@ -40,7 +40,7 @@ define void @test4(<4 x i32> addrspace(1)* %out, <4 x i32> addrspace(1)* %in) { } ; FUNC-LABEL: @s_sub_i64: -; SI: S_SUB_I32 +; SI: S_SUB_U32 ; SI: S_SUBB_U32 ; EG-DAG: SETGE_UINT diff --git a/llvm/test/CodeGen/R600/trunc.ll b/llvm/test/CodeGen/R600/trunc.ll index 4a278fbcce0..f635ac2e001 100644 --- a/llvm/test/CodeGen/R600/trunc.ll +++ b/llvm/test/CodeGen/R600/trunc.ll @@ -31,7 +31,7 @@ define void @trunc_load_shl_i64(i32 addrspace(1)* %out, i64 %a) { ; SI-LABEL: @trunc_shl_i64: ; SI: S_LOAD_DWORDX2 s{{\[}}[[LO_SREG:[0-9]+]]:{{[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}}, 0xd -; SI: S_ADD_I32 s[[LO_SREG2:[0-9]+]], s[[LO_SREG]], +; SI: S_ADD_U32 s[[LO_SREG2:[0-9]+]], s[[LO_SREG]], ; SI: S_ADDC_U32 ; SI: S_LSHL_B64 s{{\[}}[[LO_SHL:[0-9]+]]:{{[0-9]+\]}}, s{{\[}}[[LO_SREG2]]:{{[0-9]+\]}}, 2 ; SI: V_MOV_B32_e32 v[[LO_VREG:[0-9]+]], s[[LO_SHL]] diff --git a/llvm/test/CodeGen/R600/uaddo.ll b/llvm/test/CodeGen/R600/uaddo.ll index a80e502eef2..0b854b543a5 100644 --- a/llvm/test/CodeGen/R600/uaddo.ll +++ b/llvm/test/CodeGen/R600/uaddo.ll @@ -43,7 +43,7 @@ define void @v_uaddo_i32(i32 addrspace(1)* %out, i1 addrspace(1)* %carryout, i32 } ; FUNC-LABEL: @s_uaddo_i64 -; SI: S_ADD_I32 +; SI: S_ADD_U32 ; SI: S_ADDC_U32 define void @s_uaddo_i64(i64 addrspace(1)* %out, i1 addrspace(1)* %carryout, i64 %a, i64 %b) nounwind { %uadd = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %a, i64 %b) nounwind diff --git a/llvm/test/CodeGen/R600/usubo.ll b/llvm/test/CodeGen/R600/usubo.ll index d57a2c7f773..c293ad78e06 100644 --- a/llvm/test/CodeGen/R600/usubo.ll +++ b/llvm/test/CodeGen/R600/usubo.ll @@ -40,7 +40,7 @@ define void @v_usubo_i32(i32 addrspace(1)* %out, i1 addrspace(1)* %carryout, i32 } ; FUNC-LABEL: @s_usubo_i64 -; SI: S_SUB_I32 +; SI: S_SUB_U32 ; SI: S_SUBB_U32 define void @s_usubo_i64(i64 addrspace(1)* %out, i1 addrspace(1)* %carryout, i64 %a, i64 %b) nounwind { %usub = call { i64, i1 } @llvm.usub.with.overflow.i64(i64 %a, i64 %b) nounwind |