[AMDGPU] Add True16 register classes.
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / sram-ecc-default.ll
blob628af58353ba8372604edc8af8fa3f9d5856ec60
1 ; RUN: llc -march=amdgcn -mcpu=gfx900 < %s | FileCheck -check-prefixes=GCN,NO-ECC %s
2 ; RUN: llc -march=amdgcn -mcpu=gfx900 -mattr=+sramecc < %s | FileCheck -check-prefixes=GCN,NO-ECC %s
3 ; RUN: llc -march=amdgcn -mcpu=gfx900 -mattr=-sramecc < %s | FileCheck -check-prefixes=GCN,NO-ECC %s
4 ; RUN: llc -march=amdgcn -mcpu=gfx902 -mattr=+sramecc < %s | FileCheck -check-prefixes=GCN,NO-ECC %s
5 ; RUN: llc -march=amdgcn -mcpu=gfx904 -mattr=+sramecc < %s | FileCheck -check-prefixes=GCN,NO-ECC %s
6 ; RUN: llc -march=amdgcn -mcpu=gfx906 -mattr=+sramecc < %s | FileCheck -check-prefixes=GCN,ECC %s
7 ; RUN: llc -march=amdgcn -mcpu=gfx906 -mattr=-sramecc < %s | FileCheck -check-prefixes=GCN,NO-ECC %s
9 ; Make sure the correct set of targets are marked with
10 ; FeatureDoesNotSupportSRAMECC, and +sramecc is ignored if it's never
11 ; supported.
13 ; GCN-LABEL: {{^}}load_global_hi_v2i16_reglo_vreg:
14 ; NO-ECC: global_load_short_d16_hi
15 ; ECC: global_load_ushort
16 define void @load_global_hi_v2i16_reglo_vreg(ptr addrspace(1) %in, i16 %reg) {
17 entry:
18   %gep = getelementptr inbounds i16, ptr addrspace(1) %in, i64 -2047
19   %load = load i16, ptr addrspace(1) %gep
20   %build0 = insertelement <2 x i16> undef, i16 %reg, i32 0
21   %build1 = insertelement <2 x i16> %build0, i16 %load, i32 1
22   store <2 x i16> %build1, ptr addrspace(1) undef
23   ret void