diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2013-11-13 23:36:37 +0000 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2013-11-13 23:36:37 +0000 |
commit | b52bf6a3b31596a309f4b12884522e9b4a344654 (patch) | |
tree | 60294ecd3670543e55b24aca1a4507c391649203 /test/CodeGen/R600/load.ll | |
parent | eef8b8c35c585d941fb14c66df3cebc46b33f776 (diff) | |
download | llvm-b52bf6a3b31596a309f4b12884522e9b4a344654.tar.gz llvm-b52bf6a3b31596a309f4b12884522e9b4a344654.tar.bz2 llvm-b52bf6a3b31596a309f4b12884522e9b4a344654.tar.xz |
R600/SI: Prefer SALU instructions for bit shift operations
All shift operations will be selected as SALU instructions and then
if necessary lowered to VALU instructions in the SIFixSGPRCopies pass.
This allows us to do more operations on the SALU which will improve
performance and is also required for implementing private memory
using indirect addressing, since the private memory pointers must stay
in the scalar registers.
This patch includes some fixes from Matt Arsenault.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194625 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/R600/load.ll')
-rw-r--r-- | test/CodeGen/R600/load.ll | 162 |
1 files changed, 81 insertions, 81 deletions
diff --git a/test/CodeGen/R600/load.ll b/test/CodeGen/R600/load.ll index ca13133417..632509cccc 100644 --- a/test/CodeGen/R600/load.ll +++ b/test/CodeGen/R600/load.ll @@ -7,10 +7,10 @@ ;===------------------------------------------------------------------------===; ; Load an i8 value from the global address space. -; R600-CHECK: @load_i8 +; R600-CHECK-LABEL: @load_i8 ; R600-CHECK: VTX_READ_8 T{{[0-9]+\.X, T[0-9]+\.X}} -; SI-CHECK: @load_i8 +; SI-CHECK-LABEL: @load_i8 ; SI-CHECK: BUFFER_LOAD_UBYTE v{{[0-9]+}}, define void @load_i8(i32 addrspace(1)* %out, i8 addrspace(1)* %in) { %1 = load i8 addrspace(1)* %in @@ -19,13 +19,13 @@ define void @load_i8(i32 addrspace(1)* %out, i8 addrspace(1)* %in) { ret void } -; R600-CHECK: @load_i8_sext +; R600-CHECK-LABEL: @load_i8_sext ; R600-CHECK: VTX_READ_8 [[DST:T[0-9]\.[XYZW]]], [[DST]] ; R600-CHECK: LSHL {{[* ]*}}T{{[0-9]}}.[[LSHL_CHAN:[XYZW]]], [[DST]] ; R600-CHECK: 24 ; R600-CHECK: ASHR {{[* ]*}}T{{[0-9]\.[XYZW]}}, PV.[[LSHL_CHAN]] ; R600-CHECK: 24 -; SI-CHECK: @load_i8_sext +; SI-CHECK-LABEL: @load_i8_sext ; SI-CHECK: BUFFER_LOAD_SBYTE define void @load_i8_sext(i32 addrspace(1)* %out, i8 addrspace(1)* %in) { entry: @@ -35,10 +35,10 @@ entry: ret void } -; R600-CHECK: @load_v2i8 +; R600-CHECK-LABEL: @load_v2i8 ; R600-CHECK: VTX_READ_8 ; R600-CHECK: VTX_READ_8 -; SI-CHECK: @load_v2i8 +; SI-CHECK-LABEL: @load_v2i8 ; SI-CHECK: BUFFER_LOAD_UBYTE ; SI-CHECK: BUFFER_LOAD_UBYTE define void @load_v2i8(<2 x i32> addrspace(1)* %out, <2 x i8> addrspace(1)* %in) { @@ -49,7 +49,7 @@ entry: ret void } -; R600-CHECK: @load_v2i8_sext +; R600-CHECK-LABEL: @load_v2i8_sext ; R600-CHECK-DAG: VTX_READ_8 [[DST_X:T[0-9]\.[XYZW]]], [[DST_X]] ; R600-CHECK-DAG: VTX_READ_8 [[DST_Y:T[0-9]\.[XYZW]]], [[DST_Y]] ; R600-CHECK-DAG: LSHL {{[* ]*}}T{{[0-9]}}.[[LSHL_X_CHAN:[XYZW]]], [[DST_X]] @@ -60,7 +60,7 @@ entry: ; R600-CHECK-DAG: 24 ; R600-CHECK-DAG: ASHR {{[* ]*}}T{{[0-9]\.[XYZW]}}, PV.[[LSHL_Y_CHAN]] ; R600-CHECK-DAG: 24 -; SI-CHECK: @load_v2i8_sext +; SI-CHECK-LABEL: @load_v2i8_sext ; SI-CHECK: BUFFER_LOAD_SBYTE ; SI-CHECK: BUFFER_LOAD_SBYTE define void @load_v2i8_sext(<2 x i32> addrspace(1)* %out, <2 x i8> addrspace(1)* %in) { @@ -71,12 +71,12 @@ entry: ret void } -; R600-CHECK: @load_v4i8 +; R600-CHECK-LABEL: @load_v4i8 ; R600-CHECK: VTX_READ_8 ; R600-CHECK: VTX_READ_8 ; R600-CHECK: VTX_READ_8 ; R600-CHECK: VTX_READ_8 -; SI-CHECK: @load_v4i8 +; SI-CHECK-LABEL: @load_v4i8 ; SI-CHECK: BUFFER_LOAD_UBYTE ; SI-CHECK: BUFFER_LOAD_UBYTE ; SI-CHECK: BUFFER_LOAD_UBYTE @@ -89,7 +89,7 @@ entry: ret void } -; R600-CHECK: @load_v4i8_sext +; R600-CHECK-LABEL: @load_v4i8_sext ; R600-CHECK-DAG: VTX_READ_8 [[DST_X:T[0-9]\.[XYZW]]], [[DST_X]] ; R600-CHECK-DAG: VTX_READ_8 [[DST_Y:T[0-9]\.[XYZW]]], [[DST_Y]] ; R600-CHECK-DAG: VTX_READ_8 [[DST_Z:T[0-9]\.[XYZW]]], [[DST_Z]] @@ -110,7 +110,7 @@ entry: ; R600-CHECK-DAG: 24 ; R600-CHECK-DAG: ASHR {{[* ]*}}T{{[0-9]\.[XYZW]}}, PV.[[LSHL_W_CHAN]] ; R600-CHECK-DAG: 24 -; SI-CHECK: @load_v4i8_sext +; SI-CHECK-LABEL: @load_v4i8_sext ; SI-CHECK: BUFFER_LOAD_SBYTE ; SI-CHECK: BUFFER_LOAD_SBYTE ; SI-CHECK: BUFFER_LOAD_SBYTE @@ -124,9 +124,9 @@ entry: } ; Load an i16 value from the global address space. -; R600-CHECK: @load_i16 +; R600-CHECK-LABEL: @load_i16 ; R600-CHECK: VTX_READ_16 T{{[0-9]+\.X, T[0-9]+\.X}} -; SI-CHECK: @load_i16 +; SI-CHECK-LABEL: @load_i16 ; SI-CHECK: BUFFER_LOAD_USHORT define void @load_i16(i32 addrspace(1)* %out, i16 addrspace(1)* %in) { entry: @@ -136,13 +136,13 @@ entry: ret void } -; R600-CHECK: @load_i16_sext +; R600-CHECK-LABEL: @load_i16_sext ; R600-CHECK: VTX_READ_16 [[DST:T[0-9]\.[XYZW]]], [[DST]] ; R600-CHECK: LSHL {{[* ]*}}T{{[0-9]}}.[[LSHL_CHAN:[XYZW]]], [[DST]] ; R600-CHECK: 16 ; R600-CHECK: ASHR {{[* ]*}}T{{[0-9]\.[XYZW]}}, PV.[[LSHL_CHAN]] ; R600-CHECK: 16 -; SI-CHECK: @load_i16_sext +; SI-CHECK-LABEL: @load_i16_sext ; SI-CHECK: BUFFER_LOAD_SSHORT define void @load_i16_sext(i32 addrspace(1)* %out, i16 addrspace(1)* %in) { entry: @@ -152,10 +152,10 @@ entry: ret void } -; R600-CHECK: @load_v2i16 +; R600-CHECK-LABEL: @load_v2i16 ; R600-CHECK: VTX_READ_16 ; R600-CHECK: VTX_READ_16 -; SI-CHECK: @load_v2i16 +; SI-CHECK-LABEL: @load_v2i16 ; SI-CHECK: BUFFER_LOAD_USHORT ; SI-CHECK: BUFFER_LOAD_USHORT define void @load_v2i16(<2 x i32> addrspace(1)* %out, <2 x i16> addrspace(1)* %in) { @@ -166,7 +166,7 @@ entry: ret void } -; R600-CHECK: @load_v2i16_sext +; R600-CHECK-LABEL: @load_v2i16_sext ; R600-CHECK-DAG: VTX_READ_16 [[DST_X:T[0-9]\.[XYZW]]], [[DST_X]] ; R600-CHECK-DAG: VTX_READ_16 [[DST_Y:T[0-9]\.[XYZW]]], [[DST_Y]] ; R600-CHECK-DAG: LSHL {{[* ]*}}T{{[0-9]}}.[[LSHL_X_CHAN:[XYZW]]], [[DST_X]] @@ -177,7 +177,7 @@ entry: ; R600-CHECK-DAG: 16 ; R600-CHECK-DAG: ASHR {{[* ]*}}T{{[0-9]\.[XYZW]}}, PV.[[LSHL_Y_CHAN]] ; R600-CHECK-DAG: 16 -; SI-CHECK: @load_v2i16_sext +; SI-CHECK-LABEL: @load_v2i16_sext ; SI-CHECK: BUFFER_LOAD_SSHORT ; SI-CHECK: BUFFER_LOAD_SSHORT define void @load_v2i16_sext(<2 x i32> addrspace(1)* %out, <2 x i16> addrspace(1)* %in) { @@ -188,12 +188,12 @@ entry: ret void } -; R600-CHECK: @load_v4i16 +; R600-CHECK-LABEL: @load_v4i16 ; R600-CHECK: VTX_READ_16 ; R600-CHECK: VTX_READ_16 ; R600-CHECK: VTX_READ_16 ; R600-CHECK: VTX_READ_16 -; SI-CHECK: @load_v4i16 +; SI-CHECK-LABEL: @load_v4i16 ; SI-CHECK: BUFFER_LOAD_USHORT ; SI-CHECK: BUFFER_LOAD_USHORT ; SI-CHECK: BUFFER_LOAD_USHORT @@ -206,7 +206,7 @@ entry: ret void } -; R600-CHECK: @load_v4i16_sext +; R600-CHECK-LABEL: @load_v4i16_sext ; R600-CHECK-DAG: VTX_READ_16 [[DST_X:T[0-9]\.[XYZW]]], [[DST_X]] ; R600-CHECK-DAG: VTX_READ_16 [[DST_Y:T[0-9]\.[XYZW]]], [[DST_Y]] ; R600-CHECK-DAG: VTX_READ_16 [[DST_Z:T[0-9]\.[XYZW]]], [[DST_Z]] @@ -227,7 +227,7 @@ entry: ; R600-CHECK-DAG: 16 ; R600-CHECK-DAG: ASHR {{[* ]*}}T{{[0-9]\.[XYZW]}}, PV.[[LSHL_W_CHAN]] ; R600-CHECK-DAG: 16 -; SI-CHECK: @load_v4i16_sext +; SI-CHECK-LABEL: @load_v4i16_sext ; SI-CHECK: BUFFER_LOAD_SSHORT ; SI-CHECK: BUFFER_LOAD_SSHORT ; SI-CHECK: BUFFER_LOAD_SSHORT @@ -241,10 +241,10 @@ entry: } ; load an i32 value from the global address space. -; R600-CHECK: @load_i32 +; R600-CHECK-LABEL: @load_i32 ; R600-CHECK: VTX_READ_32 T{{[0-9]+}}.X, T{{[0-9]+}}.X, 0 -; SI-CHECK: @load_i32 +; SI-CHECK-LABEL: @load_i32 ; SI-CHECK: BUFFER_LOAD_DWORD v{{[0-9]+}} define void @load_i32(i32 addrspace(1)* %out, i32 addrspace(1)* %in) { entry: @@ -254,10 +254,10 @@ entry: } ; load a f32 value from the global address space. -; R600-CHECK: @load_f32 +; R600-CHECK-LABEL: @load_f32 ; R600-CHECK: VTX_READ_32 T{{[0-9]+}}.X, T{{[0-9]+}}.X, 0 -; SI-CHECK: @load_f32 +; SI-CHECK-LABEL: @load_f32 ; SI-CHECK: BUFFER_LOAD_DWORD v{{[0-9]+}} define void @load_f32(float addrspace(1)* %out, float addrspace(1)* %in) { entry: @@ -267,10 +267,10 @@ entry: } ; load a v2f32 value from the global address space -; R600-CHECK: @load_v2f32 +; R600-CHECK-LABEL: @load_v2f32 ; R600-CHECK: VTX_READ_64 -; SI-CHECK: @load_v2f32 +; SI-CHECK-LABEL: @load_v2f32 ; SI-CHECK: BUFFER_LOAD_DWORDX2 define void @load_v2f32(<2 x float> addrspace(1)* %out, <2 x float> addrspace(1)* %in) { entry: @@ -279,11 +279,11 @@ entry: ret void } -; R600-CHECK: @load_i64 +; R600-CHECK-LABEL: @load_i64 ; R600-CHECK: MEM_RAT ; R600-CHECK: MEM_RAT -; SI-CHECK: @load_i64 +; SI-CHECK-LABEL: @load_i64 ; SI-CHECK: BUFFER_LOAD_DWORDX2 define void @load_i64(i64 addrspace(1)* %out, i64 addrspace(1)* %in) { entry: @@ -292,12 +292,12 @@ entry: ret void } -; R600-CHECK: @load_i64_sext +; R600-CHECK-LABEL: @load_i64_sext ; R600-CHECK: MEM_RAT ; R600-CHECK: MEM_RAT ; R600-CHECK: ASHR {{[* ]*}}T{{[0-9]\.[XYZW]}}, T{{[0-9]\.[XYZW]}}, literal.x ; R600-CHECK: 31 -; SI-CHECK: @load_i64_sext +; SI-CHECK-LABEL: @load_i64_sext ; SI-CHECK: BUFFER_LOAD_DWORDX2 [[VAL:v\[[0-9]:[0-9]\]]] ; SI-CHECK: V_LSHL_B64 [[LSHL:v\[[0-9]:[0-9]\]]], [[VAL]], 32 ; SI-CHECK: V_ASHR_I64 v{{\[[0-9]:[0-9]\]}}, [[LSHL]], 32 @@ -310,7 +310,7 @@ entry: ret void } -; R600-CHECK: @load_i64_zext +; R600-CHECK-LABEL: @load_i64_zext ; R600-CHECK: MEM_RAT ; R600-CHECK: MEM_RAT define void @load_i64_zext(i64 addrspace(1)* %out, i32 addrspace(1)* %in) { @@ -326,13 +326,13 @@ entry: ;===------------------------------------------------------------------------===; ; Load a sign-extended i8 value -; R600-CHECK: @load_const_i8_sext +; R600-CHECK-LABEL: @load_const_i8_sext ; R600-CHECK: VTX_READ_8 [[DST:T[0-9]\.[XYZW]]], [[DST]] ; R600-CHECK: LSHL {{[* ]*}}T{{[0-9]}}.[[LSHL_CHAN:[XYZW]]], [[DST]] ; R600-CHECK: 24 ; R600-CHECK: ASHR {{[* ]*}}T{{[0-9]\.[XYZW]}}, PV.[[LSHL_CHAN]] ; R600-CHECK: 24 -; SI-CHECK: @load_const_i8_sext +; SI-CHECK-LABEL: @load_const_i8_sext ; SI-CHECK: BUFFER_LOAD_SBYTE v{{[0-9]+}}, define void @load_const_i8_sext(i32 addrspace(1)* %out, i8 addrspace(2)* %in) { entry: @@ -343,9 +343,9 @@ entry: } ; Load an aligned i8 value -; R600-CHECK: @load_const_i8_aligned +; R600-CHECK-LABEL: @load_const_i8_aligned ; R600-CHECK: VTX_READ_8 T{{[0-9]+\.X, T[0-9]+\.X}} -; SI-CHECK: @load_const_i8_aligned +; SI-CHECK-LABEL: @load_const_i8_aligned ; SI-CHECK: BUFFER_LOAD_UBYTE v{{[0-9]+}}, define void @load_const_i8_aligned(i32 addrspace(1)* %out, i8 addrspace(2)* %in) { entry: @@ -356,9 +356,9 @@ entry: } ; Load an un-aligned i8 value -; R600-CHECK: @load_const_i8_unaligned +; R600-CHECK-LABEL: @load_const_i8_unaligned ; R600-CHECK: VTX_READ_8 T{{[0-9]+\.X, T[0-9]+\.X}} -; SI-CHECK: @load_const_i8_unaligned +; SI-CHECK-LABEL: @load_const_i8_unaligned ; SI-CHECK: BUFFER_LOAD_UBYTE v{{[0-9]+}}, define void @load_const_i8_unaligned(i32 addrspace(1)* %out, i8 addrspace(2)* %in) { entry: @@ -370,13 +370,13 @@ entry: } ; Load a sign-extended i16 value -; R600-CHECK: @load_const_i16_sext +; R600-CHECK-LABEL: @load_const_i16_sext ; R600-CHECK: VTX_READ_16 [[DST:T[0-9]\.[XYZW]]], [[DST]] ; R600-CHECK: LSHL {{[* ]*}}T{{[0-9]}}.[[LSHL_CHAN:[XYZW]]], [[DST]] ; R600-CHECK: 16 ; R600-CHECK: ASHR {{[* ]*}}T{{[0-9]\.[XYZW]}}, PV.[[LSHL_CHAN]] ; R600-CHECK: 16 -; SI-CHECK: @load_const_i16_sext +; SI-CHECK-LABEL: @load_const_i16_sext ; SI-CHECK: BUFFER_LOAD_SSHORT define void @load_const_i16_sext(i32 addrspace(1)* %out, i16 addrspace(2)* %in) { entry: @@ -387,9 +387,9 @@ entry: } ; Load an aligned i16 value -; R600-CHECK: @load_const_i16_aligned +; R600-CHECK-LABEL: @load_const_i16_aligned ; R600-CHECK: VTX_READ_16 T{{[0-9]+\.X, T[0-9]+\.X}} -; SI-CHECK: @load_const_i16_aligned +; SI-CHECK-LABEL: @load_const_i16_aligned ; SI-CHECK: BUFFER_LOAD_USHORT define void @load_const_i16_aligned(i32 addrspace(1)* %out, i16 addrspace(2)* %in) { entry: @@ -400,9 +400,9 @@ entry: } ; Load an un-aligned i16 value -; R600-CHECK: @load_const_i16_unaligned +; R600-CHECK-LABEL: @load_const_i16_unaligned ; R600-CHECK: VTX_READ_16 T{{[0-9]+\.X, T[0-9]+\.X}} -; SI-CHECK: @load_const_i16_unaligned +; SI-CHECK-LABEL: @load_const_i16_unaligned ; SI-CHECK: BUFFER_LOAD_USHORT define void @load_const_i16_unaligned(i32 addrspace(1)* %out, i16 addrspace(2)* %in) { entry: @@ -414,10 +414,10 @@ entry: } ; Load an i32 value from the constant address space. -; R600-CHECK: @load_const_addrspace_i32 +; R600-CHECK-LABEL: @load_const_addrspace_i32 ; R600-CHECK: VTX_READ_32 T{{[0-9]+}}.X, T{{[0-9]+}}.X, 0 -; SI-CHECK: @load_const_addrspace_i32 +; SI-CHECK-LABEL: @load_const_addrspace_i32 ; SI-CHECK: S_LOAD_DWORD s{{[0-9]+}} define void @load_const_addrspace_i32(i32 addrspace(1)* %out, i32 addrspace(2)* %in) { entry: @@ -427,10 +427,10 @@ entry: } ; Load a f32 value from the constant address space. -; R600-CHECK: @load_const_addrspace_f32 +; R600-CHECK-LABEL: @load_const_addrspace_f32 ; R600-CHECK: VTX_READ_32 T{{[0-9]+}}.X, T{{[0-9]+}}.X, 0 -; SI-CHECK: @load_const_addrspace_f32 +; SI-CHECK-LABEL: @load_const_addrspace_f32 ; SI-CHECK: S_LOAD_DWORD s{{[0-9]+}} define void @load_const_addrspace_f32(float addrspace(1)* %out, float addrspace(2)* %in) { %1 = load float addrspace(2)* %in @@ -443,9 +443,9 @@ define void @load_const_addrspace_f32(float addrspace(1)* %out, float addrspace( ;===------------------------------------------------------------------------===; ; Load an i8 value from the local address space. -; R600-CHECK: @load_i8_local +; R600-CHECK-LABEL: @load_i8_local ; R600-CHECK: LDS_UBYTE_READ_RET -; SI-CHECK: @load_i8_local +; SI-CHECK-LABEL: @load_i8_local ; SI-CHECK-NOT: S_WQM_B64 ; SI-CHECK: DS_READ_U8 define void @load_i8_local(i32 addrspace(1)* %out, i8 addrspace(3)* %in) { @@ -455,10 +455,10 @@ define void @load_i8_local(i32 addrspace(1)* %out, i8 addrspace(3)* %in) { ret void } -; R600-CHECK: @load_i8_sext_local +; R600-CHECK-LABEL: @load_i8_sext_local ; R600-CHECK: LDS_UBYTE_READ_RET ; R600-CHECK: ASHR -; SI-CHECK: @load_i8_sext_local +; SI-CHECK-LABEL: @load_i8_sext_local ; SI-CHECK-NOT: S_WQM_B64 ; SI-CHECK: DS_READ_I8 define void @load_i8_sext_local(i32 addrspace(1)* %out, i8 addrspace(3)* %in) { @@ -469,10 +469,10 @@ entry: ret void } -; R600-CHECK: @load_v2i8_local +; R600-CHECK-LABEL: @load_v2i8_local ; R600-CHECK: LDS_UBYTE_READ_RET ; R600-CHECK: LDS_UBYTE_READ_RET -; SI-CHECK: @load_v2i8_local +; SI-CHECK-LABEL: @load_v2i8_local ; SI-CHECK-NOT: S_WQM_B64 ; SI-CHECK: DS_READ_U8 ; SI-CHECK: DS_READ_U8 @@ -484,12 +484,12 @@ entry: ret void } -; R600-CHECK: @load_v2i8_sext_local +; R600-CHECK-LABEL: @load_v2i8_sext_local ; R600-CHECK-DAG: LDS_UBYTE_READ_RET ; R600-CHECK-DAG: LDS_UBYTE_READ_RET ; R600-CHECK-DAG: ASHR ; R600-CHECK-DAG: ASHR -; SI-CHECK: @load_v2i8_sext_local +; SI-CHECK-LABEL: @load_v2i8_sext_local ; SI-CHECK-NOT: S_WQM_B64 ; SI-CHECK: DS_READ_I8 ; SI-CHECK: DS_READ_I8 @@ -501,12 +501,12 @@ entry: ret void } -; R600-CHECK: @load_v4i8_local +; R600-CHECK-LABEL: @load_v4i8_local ; R600-CHECK: LDS_UBYTE_READ_RET ; R600-CHECK: LDS_UBYTE_READ_RET ; R600-CHECK: LDS_UBYTE_READ_RET ; R600-CHECK: LDS_UBYTE_READ_RET -; SI-CHECK: @load_v4i8_local +; SI-CHECK-LABEL: @load_v4i8_local ; SI-CHECK-NOT: S_WQM_B64 ; SI-CHECK: DS_READ_U8 ; SI-CHECK: DS_READ_U8 @@ -520,7 +520,7 @@ entry: ret void } -; R600-CHECK: @load_v4i8_sext_local +; R600-CHECK-LABEL: @load_v4i8_sext_local ; R600-CHECK-DAG: LDS_UBYTE_READ_RET ; R600-CHECK-DAG: LDS_UBYTE_READ_RET ; R600-CHECK-DAG: LDS_UBYTE_READ_RET @@ -529,7 +529,7 @@ entry: ; R600-CHECK-DAG: ASHR ; R600-CHECK-DAG: ASHR ; R600-CHECK-DAG: ASHR -; SI-CHECK: @load_v4i8_sext_local +; SI-CHECK-LABEL: @load_v4i8_sext_local ; SI-CHECK-NOT: S_WQM_B64 ; SI-CHECK: DS_READ_I8 ; SI-CHECK: DS_READ_I8 @@ -544,9 +544,9 @@ entry: } ; Load an i16 value from the local address space. -; R600-CHECK: @load_i16_local +; R600-CHECK-LABEL: @load_i16_local ; R600-CHECK: LDS_USHORT_READ_RET -; SI-CHECK: @load_i16_local +; SI-CHECK-LABEL: @load_i16_local ; SI-CHECK-NOT: S_WQM_B64 ; SI-CHECK: DS_READ_U16 define void @load_i16_local(i32 addrspace(1)* %out, i16 addrspace(3)* %in) { @@ -557,10 +557,10 @@ entry: ret void } -; R600-CHECK: @load_i16_sext_local +; R600-CHECK-LABEL: @load_i16_sext_local ; R600-CHECK: LDS_USHORT_READ_RET ; R600-CHECK: ASHR -; SI-CHECK: @load_i16_sext_local +; SI-CHECK-LABEL: @load_i16_sext_local ; SI-CHECK-NOT: S_WQM_B64 ; SI-CHECK: DS_READ_I16 define void @load_i16_sext_local(i32 addrspace(1)* %out, i16 addrspace(3)* %in) { @@ -571,10 +571,10 @@ entry: ret void } -; R600-CHECK: @load_v2i16_local +; R600-CHECK-LABEL: @load_v2i16_local ; R600-CHECK: LDS_USHORT_READ_RET ; R600-CHECK: LDS_USHORT_READ_RET -; SI-CHECK: @load_v2i16_local +; SI-CHECK-LABEL: @load_v2i16_local ; SI-CHECK-NOT: S_WQM_B64 ; SI-CHECK: DS_READ_U16 ; SI-CHECK: DS_READ_U16 @@ -586,12 +586,12 @@ entry: ret void } -; R600-CHECK: @load_v2i16_sext_local +; R600-CHECK-LABEL: @load_v2i16_sext_local ; R600-CHECK-DAG: LDS_USHORT_READ_RET ; R600-CHECK-DAG: LDS_USHORT_READ_RET ; R600-CHECK-DAG: ASHR ; R600-CHECK-DAG: ASHR -; SI-CHECK: @load_v2i16_sext_local +; SI-CHECK-LABEL: @load_v2i16_sext_local ; SI-CHECK-NOT: S_WQM_B64 ; SI-CHECK: DS_READ_I16 ; SI-CHECK: DS_READ_I16 @@ -603,12 +603,12 @@ entry: ret void } -; R600-CHECK: @load_v4i16_local +; R600-CHECK-LABEL: @load_v4i16_local ; R600-CHECK: LDS_USHORT_READ_RET ; R600-CHECK: LDS_USHORT_READ_RET ; R600-CHECK: LDS_USHORT_READ_RET ; R600-CHECK: LDS_USHORT_READ_RET -; SI-CHECK: @load_v4i16_local +; SI-CHECK-LABEL: @load_v4i16_local ; SI-CHECK-NOT: S_WQM_B64 ; SI-CHECK: DS_READ_U16 ; SI-CHECK: DS_READ_U16 @@ -622,7 +622,7 @@ entry: ret void } -; R600-CHECK: @load_v4i16_sext_local +; R600-CHECK-LABEL: @load_v4i16_sext_local ; R600-CHECK-DAG: LDS_USHORT_READ_RET ; R600-CHECK-DAG: LDS_USHORT_READ_RET ; R600-CHECK-DAG: LDS_USHORT_READ_RET @@ -631,7 +631,7 @@ entry: ; R600-CHECK-DAG: ASHR ; R600-CHECK-DAG: ASHR ; R600-CHECK-DAG: ASHR -; SI-CHECK: @load_v4i16_sext_local +; SI-CHECK-LABEL: @load_v4i16_sext_local ; SI-CHECK-NOT: S_WQM_B64 ; SI-CHECK: DS_READ_I16 ; SI-CHECK: DS_READ_I16 @@ -646,9 +646,9 @@ entry: } ; load an i32 value from the glocal address space. -; R600-CHECK: @load_i32_local +; R600-CHECK-LABEL: @load_i32_local ; R600-CHECK: LDS_READ_RET -; SI-CHECK: @load_i32_local +; SI-CHECK-LABEL: @load_i32_local ; SI-CHECK-NOT: S_WQM_B64 ; SI-CHECK: DS_READ_B32 define void @load_i32_local(i32 addrspace(1)* %out, i32 addrspace(3)* %in) { @@ -659,9 +659,9 @@ entry: } ; load a f32 value from the global address space. -; R600-CHECK: @load_f32_local +; R600-CHECK-LABEL: @load_f32_local ; R600-CHECK: LDS_READ_RET -; SI-CHECK: @load_f32_local +; SI-CHECK-LABEL: @load_f32_local ; SI-CHECK: DS_READ_B32 define void @load_f32_local(float addrspace(1)* %out, float addrspace(3)* %in) { entry: @@ -671,10 +671,10 @@ entry: } ; load a v2f32 value from the local address space -; R600-CHECK: @load_v2f32_local +; R600-CHECK-LABEL: @load_v2f32_local ; R600-CHECK: LDS_READ_RET ; R600-CHECK: LDS_READ_RET -; SI-CHECK: @load_v2f32_local +; SI-CHECK-LABEL: @load_v2f32_local ; SI-CHECK: DS_READ_B32 ; SI-CHECK: DS_READ_B32 define void @load_v2f32_local(<2 x float> addrspace(1)* %out, <2 x float> addrspace(3)* %in) { |