[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / AMDGPU / memory-legalizer-invalid-addrspace.mir
blob9fe27da1dfce76adbab3e5d70067dc97dbca7b80
1 # RUN: not llc -march=amdgcn -mcpu=gfx803 -run-pass si-memory-legalizer %s -o - 2>&1 | FileCheck -check-prefix=GCN %s
3 ---
5 # GCN: error: <unknown>:0:0: in function invalid_load void (): Unsupported atomic address space
7 name:            invalid_load
8 body:             |
9   bb.0:
10     liveins: $sgpr0_sgpr1
12     $vgpr0 = V_MOV_B32_e32 $sgpr2, implicit $exec, implicit-def $vgpr0_vgpr1, implicit $sgpr2_sgpr3
13     $vgpr1 = V_MOV_B32_e32 killed $sgpr3, implicit $exec, implicit $sgpr2_sgpr3, implicit $exec
14     renamable $vgpr2 = FLAT_LOAD_DWORD killed renamable $vgpr0_vgpr1, 0, 0, 0, 0, implicit $exec, implicit $flat_scr :: (volatile load syncscope("one-as") seq_cst 4 from `i32 addrspace(42)* undef`)
15     $vgpr0 = V_MOV_B32_e32 $sgpr0, implicit $exec, implicit-def $vgpr0_vgpr1, implicit $sgpr0_sgpr1
16     $vgpr1 = V_MOV_B32_e32 killed $sgpr1, implicit $exec, implicit $sgpr0_sgpr1, implicit $exec
17     FLAT_STORE_DWORD killed renamable $vgpr0_vgpr1, killed renamable $vgpr2, 0, 0, 0, 0, implicit $exec, implicit $flat_scr :: (store 4 into `i32* undef`)
18     S_ENDPGM 0
20 ...
21 ---
23 # GCN: error: <unknown>:0:0: in function invalid_store void (): Unsupported atomic address space
25 name:            invalid_store
26 body:             |
27   bb.0:
28     liveins: $sgpr0_sgpr1
30     $vgpr2 = V_MOV_B32_e32 killed $sgpr2, implicit $exec, implicit $exec
31     $vgpr0 = V_MOV_B32_e32 $sgpr0, implicit $exec, implicit-def $vgpr0_vgpr1, implicit $sgpr0_sgpr1
32     $vgpr1 = V_MOV_B32_e32 killed $sgpr1, implicit $exec, implicit $sgpr0_sgpr1, implicit $exec
33     FLAT_STORE_DWORD killed renamable $vgpr0_vgpr1, killed renamable $vgpr2, 0, 0, 0, 0, implicit $exec, implicit $flat_scr :: (volatile store syncscope("agent-one-as") seq_cst 4 into `i32 addrspace(42)* undef`)
34     S_ENDPGM 0
36 ...
37 ---
39 # GCN: error: <unknown>:0:0: in function invalid_cmpxchg void (): Unsupported atomic address space
41 name:            invalid_cmpxchg
42 body:             |
43   bb.0:
44     liveins: $sgpr0_sgpr1
46     $vgpr3 = V_MOV_B32_e32 $sgpr1, implicit $exec, implicit-def $vgpr2_vgpr3, implicit $sgpr0_sgpr1
47     $vgpr0 = V_MOV_B32_e32 killed $sgpr4, implicit $exec, implicit $exec
48     $vgpr1 = V_MOV_B32_e32 killed $sgpr5, implicit $exec, implicit $exec
49     $vgpr2 = V_MOV_B32_e32 killed $sgpr0, implicit $exec, implicit $sgpr0_sgpr1, implicit $exec
50     FLAT_ATOMIC_CMPSWAP killed renamable $vgpr2_vgpr3, killed renamable $vgpr0_vgpr1, 0, 0, implicit $exec, implicit $flat_scr :: (volatile load store syncscope("workgroup-one-as") seq_cst seq_cst 4 on `i32 addrspace(42)* undef`)
51     S_ENDPGM 0
53 ...
54 ---
56 # GCN: error: <unknown>:0:0: in function invalid_rmw void (): Unsupported atomic address space
58 name:            invalid_rmw
59 body:             |
60   bb.0:
61     liveins: $sgpr0_sgpr1
63     $vgpr0 = V_MOV_B32_e32 $sgpr2, implicit $exec, implicit-def $vgpr0_vgpr1, implicit $sgpr2_sgpr3
64     $vgpr1 = V_MOV_B32_e32 killed $sgpr3, implicit $exec, implicit $sgpr2_sgpr3, implicit $exec
65     $vgpr2 = V_MOV_B32_e32 killed $sgpr0, implicit $exec, implicit $exec
66     FLAT_ATOMIC_SWAP killed renamable $vgpr0_vgpr1, killed renamable $vgpr2, 0, 0, implicit $exec, implicit $flat_scr :: (volatile load store syncscope("wavefront-one-as") seq_cst 4 on `i32 addrspace(42)* undef`)
67     S_ENDPGM 0
69 ...