diff options
Diffstat (limited to 'test/CodeGen/R600/extload.ll')
-rw-r--r-- | test/CodeGen/R600/extload.ll | 79 |
1 files changed, 5 insertions, 74 deletions
diff --git a/test/CodeGen/R600/extload.ll b/test/CodeGen/R600/extload.ll index dc056e0ecdd5..4a94acaba0b5 100644 --- a/test/CodeGen/R600/extload.ll +++ b/test/CodeGen/R600/extload.ll @@ -1,7 +1,7 @@ ; RUN: llc -march=r600 -mcpu=cypress < %s | FileCheck -check-prefix=EG -check-prefix=FUNC %s -; RUN: llc -march=r600 -mcpu=SI -verify-machineinstrs< %s | FileCheck -check-prefix=SI -check-prefix=FUNC %s +; RUN: llc -march=amdgcn -mcpu=SI -verify-machineinstrs< %s | FileCheck -check-prefix=SI -check-prefix=FUNC %s -; FUNC-LABEL: @anyext_load_i8: +; FUNC-LABEL: {{^}}anyext_load_i8: ; EG: AND_INT ; EG: 255 define void @anyext_load_i8(i8 addrspace(1)* nocapture noalias %out, i8 addrspace(1)* nocapture noalias %src) nounwind { @@ -13,7 +13,7 @@ define void @anyext_load_i8(i8 addrspace(1)* nocapture noalias %out, i8 addrspac ret void } -; FUNC-LABEL: @anyext_load_i16: +; FUNC-LABEL: {{^}}anyext_load_i16: ; EG: AND_INT ; EG: AND_INT ; EG-DAG: 65535 @@ -27,7 +27,7 @@ define void @anyext_load_i16(i16 addrspace(1)* nocapture noalias %out, i16 addrs ret void } -; FUNC-LABEL: @anyext_load_lds_i8: +; FUNC-LABEL: {{^}}anyext_load_lds_i8: ; EG: AND_INT ; EG: 255 define void @anyext_load_lds_i8(i8 addrspace(3)* nocapture noalias %out, i8 addrspace(3)* nocapture noalias %src) nounwind { @@ -39,7 +39,7 @@ define void @anyext_load_lds_i8(i8 addrspace(3)* nocapture noalias %out, i8 addr ret void } -; FUNC-LABEL: @anyext_load_lds_i16: +; FUNC-LABEL: {{^}}anyext_load_lds_i16: ; EG: AND_INT ; EG: AND_INT ; EG-DAG: 65535 @@ -52,72 +52,3 @@ define void @anyext_load_lds_i16(i16 addrspace(3)* nocapture noalias %out, i16 a store <2 x i16> %x, <2 x i16> addrspace(3)* %castOut, align 1 ret void } - -; FUNC-LABEL: @sextload_global_i8_to_i64 -; SI: BUFFER_LOAD_SBYTE [[LOAD:v[0-9]+]], -; SI: V_ASHRREV_I32_e32 v{{[0-9]+}}, 31, [[LOAD]] -; SI: BUFFER_STORE_DWORDX2 -define void @sextload_global_i8_to_i64(i64 addrspace(1)* %out, i8 addrspace(1)* %in) nounwind { - %a = load i8 addrspace(1)* %in, align 8 - %ext = sext i8 %a to i64 - store i64 %ext, i64 addrspace(1)* %out, align 8 - ret void -} - -; FUNC-LABEL: @sextload_global_i16_to_i64 -; SI: BUFFER_LOAD_SSHORT [[LOAD:v[0-9]+]], -; SI: V_ASHRREV_I32_e32 v{{[0-9]+}}, 31, [[LOAD]] -; SI: BUFFER_STORE_DWORDX2 -define void @sextload_global_i16_to_i64(i64 addrspace(1)* %out, i16 addrspace(1)* %in) nounwind { - %a = load i16 addrspace(1)* %in, align 8 - %ext = sext i16 %a to i64 - store i64 %ext, i64 addrspace(1)* %out, align 8 - ret void -} - -; FUNC-LABEL: @sextload_global_i32_to_i64 -; SI: BUFFER_LOAD_DWORD [[LOAD:v[0-9]+]], -; SI: V_ASHRREV_I32_e32 v{{[0-9]+}}, 31, [[LOAD]] -; SI: BUFFER_STORE_DWORDX2 -define void @sextload_global_i32_to_i64(i64 addrspace(1)* %out, i32 addrspace(1)* %in) nounwind { - %a = load i32 addrspace(1)* %in, align 8 - %ext = sext i32 %a to i64 - store i64 %ext, i64 addrspace(1)* %out, align 8 - ret void -} - -; FUNC-LABEL: @zextload_global_i8_to_i64 -; SI: S_MOV_B32 [[ZERO:s[0-9]+]], 0 -; SI: BUFFER_LOAD_UBYTE [[LOAD:v[0-9]+]], -; SI: V_MOV_B32_e32 {{v[0-9]+}}, [[ZERO]] -; SI: BUFFER_STORE_DWORDX2 -define void @zextload_global_i8_to_i64(i64 addrspace(1)* %out, i8 addrspace(1)* %in) nounwind { - %a = load i8 addrspace(1)* %in, align 8 - %ext = zext i8 %a to i64 - store i64 %ext, i64 addrspace(1)* %out, align 8 - ret void -} - -; FUNC-LABEL: @zextload_global_i16_to_i64 -; SI: S_MOV_B32 [[ZERO:s[0-9]+]], 0 -; SI: BUFFER_LOAD_USHORT [[LOAD:v[0-9]+]], -; SI: V_MOV_B32_e32 {{v[0-9]+}}, [[ZERO]] -; SI: BUFFER_STORE_DWORDX2 -define void @zextload_global_i16_to_i64(i64 addrspace(1)* %out, i16 addrspace(1)* %in) nounwind { - %a = load i16 addrspace(1)* %in, align 8 - %ext = zext i16 %a to i64 - store i64 %ext, i64 addrspace(1)* %out, align 8 - ret void -} - -; FUNC-LABEL: @zextload_global_i32_to_i64 -; SI: S_MOV_B32 [[ZERO:s[0-9]+]], 0 -; SI: BUFFER_LOAD_DWORD [[LOAD:v[0-9]+]], -; SI: V_MOV_B32_e32 {{v[0-9]+}}, [[ZERO]] -; SI: BUFFER_STORE_DWORDX2 -define void @zextload_global_i32_to_i64(i64 addrspace(1)* %out, i32 addrspace(1)* %in) nounwind { - %a = load i32 addrspace(1)* %in, align 8 - %ext = zext i32 %a to i64 - store i64 %ext, i64 addrspace(1)* %out, align 8 - ret void -} |