annotate llvm/test/CodeGen/AMDGPU/illegal-sgpr-to-vgpr-copy.ll @ 206:f17a3b42b08b

Added tag before-12 for changeset b7591485f4cd
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 07 Jun 2021 21:25:57 +0900
parents 0572611fdcc8
children c4bab56944e8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 ; RUN: not llc -march=amdgcn < %s 2>&1 | FileCheck -check-prefix=ERR %s
anatofuz
parents:
diff changeset
2 ; RUN: not llc -march=amdgcn < %s 2>&1 | FileCheck -check-prefix=GCN %s
anatofuz
parents:
diff changeset
3
anatofuz
parents:
diff changeset
4 ; ERR: error: <unknown>:0:0: in function illegal_vgpr_to_sgpr_copy_i32 void (): illegal SGPR to VGPR copy
anatofuz
parents:
diff changeset
5 ; GCN: ; illegal copy v1 to s9
anatofuz
parents:
diff changeset
6
anatofuz
parents:
diff changeset
7 define amdgpu_kernel void @illegal_vgpr_to_sgpr_copy_i32() #0 {
anatofuz
parents:
diff changeset
8 %vgpr = call i32 asm sideeffect "; def $0", "=${v1}"()
anatofuz
parents:
diff changeset
9 call void asm sideeffect "; use $0", "${s9}"(i32 %vgpr)
anatofuz
parents:
diff changeset
10 ret void
anatofuz
parents:
diff changeset
11 }
anatofuz
parents:
diff changeset
12
anatofuz
parents:
diff changeset
13 ; ERR: error: <unknown>:0:0: in function illegal_vgpr_to_sgpr_copy_v2i32 void (): illegal SGPR to VGPR copy
anatofuz
parents:
diff changeset
14 ; GCN: ; illegal copy v[0:1] to s[10:11]
anatofuz
parents:
diff changeset
15 define amdgpu_kernel void @illegal_vgpr_to_sgpr_copy_v2i32() #0 {
anatofuz
parents:
diff changeset
16 %vgpr = call <2 x i32> asm sideeffect "; def $0", "=${v[0:1]}"()
anatofuz
parents:
diff changeset
17 call void asm sideeffect "; use $0", "${s[10:11]}"(<2 x i32> %vgpr)
anatofuz
parents:
diff changeset
18 ret void
anatofuz
parents:
diff changeset
19 }
anatofuz
parents:
diff changeset
20
anatofuz
parents:
diff changeset
21 ; ERR: error: <unknown>:0:0: in function illegal_vgpr_to_sgpr_copy_v4i32 void (): illegal SGPR to VGPR copy
anatofuz
parents:
diff changeset
22 ; GCN: ; illegal copy v[0:3] to s[8:11]
anatofuz
parents:
diff changeset
23 define amdgpu_kernel void @illegal_vgpr_to_sgpr_copy_v4i32() #0 {
anatofuz
parents:
diff changeset
24 %vgpr = call <4 x i32> asm sideeffect "; def $0", "=${v[0:3]}"()
anatofuz
parents:
diff changeset
25 call void asm sideeffect "; use $0", "${s[8:11]}"(<4 x i32> %vgpr)
anatofuz
parents:
diff changeset
26 ret void
anatofuz
parents:
diff changeset
27 }
anatofuz
parents:
diff changeset
28
anatofuz
parents:
diff changeset
29 ; ERR: error: <unknown>:0:0: in function illegal_vgpr_to_sgpr_copy_v8i32 void (): illegal SGPR to VGPR copy
anatofuz
parents:
diff changeset
30 ; GCN: ; illegal copy v[0:7] to s[8:15]
anatofuz
parents:
diff changeset
31 define amdgpu_kernel void @illegal_vgpr_to_sgpr_copy_v8i32() #0 {
anatofuz
parents:
diff changeset
32 %vgpr = call <8 x i32> asm sideeffect "; def $0", "=${v[0:7]}"()
anatofuz
parents:
diff changeset
33 call void asm sideeffect "; use $0", "${s[8:15]}"(<8 x i32> %vgpr)
anatofuz
parents:
diff changeset
34 ret void
anatofuz
parents:
diff changeset
35 }
anatofuz
parents:
diff changeset
36
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
37 ; ERR: error: <unknown>:0:0: in function illegal_vgpr_to_sgpr_copy_v16i32 void (): illegal SGPR to VGPR copy
150
anatofuz
parents:
diff changeset
38 ; GCN: ; illegal copy v[0:15] to s[16:31]
anatofuz
parents:
diff changeset
39 define amdgpu_kernel void @illegal_vgpr_to_sgpr_copy_v16i32() #0 {
anatofuz
parents:
diff changeset
40 %vgpr = call <16 x i32> asm sideeffect "; def $0", "=${v[0:15]}"()
anatofuz
parents:
diff changeset
41 call void asm sideeffect "; use $0", "${s[16:31]}"(<16 x i32> %vgpr)
anatofuz
parents:
diff changeset
42 ret void
anatofuz
parents:
diff changeset
43 }
anatofuz
parents:
diff changeset
44
anatofuz
parents:
diff changeset
45 ; ERR: error: <unknown>:0:0: in function illegal_agpr_to_sgpr_copy_i32 void (): illegal SGPR to VGPR copy
anatofuz
parents:
diff changeset
46 ; GCN: v_accvgpr_read_b32 [[COPY1:v[0-9]+]], a1
anatofuz
parents:
diff changeset
47 ; GCN: ; illegal copy [[COPY1]] to s9
anatofuz
parents:
diff changeset
48 define amdgpu_kernel void @illegal_agpr_to_sgpr_copy_i32() #1 {
anatofuz
parents:
diff changeset
49 %agpr = call i32 asm sideeffect "; def $0", "=${a1}"()
anatofuz
parents:
diff changeset
50 call void asm sideeffect "; use $0", "${s9}"(i32 %agpr)
anatofuz
parents:
diff changeset
51 ret void
anatofuz
parents:
diff changeset
52 }
anatofuz
parents:
diff changeset
53
anatofuz
parents:
diff changeset
54 ; ERR: error: <unknown>:0:0: in function illegal_agpr_to_sgpr_copy_v2i32 void (): illegal SGPR to VGPR copy
anatofuz
parents:
diff changeset
55 ; GCN-DAG: v_accvgpr_read_b32 v[[COPY1L:[0-9]+]], a0
anatofuz
parents:
diff changeset
56 ; GCN-DAG: v_accvgpr_read_b32 v[[COPY1H:[0-9]+]], a1
anatofuz
parents:
diff changeset
57 ; GCN: ; illegal copy v{{\[}}[[COPY1L]]:[[COPY1H]]] to s[10:11]
anatofuz
parents:
diff changeset
58 define amdgpu_kernel void @illegal_agpr_to_sgpr_copy_v2i32() #1 {
anatofuz
parents:
diff changeset
59 %vgpr = call <2 x i32> asm sideeffect "; def $0", "=${a[0:1]}"()
anatofuz
parents:
diff changeset
60 call void asm sideeffect "; use $0", "${s[10:11]}"(<2 x i32> %vgpr)
anatofuz
parents:
diff changeset
61 ret void
anatofuz
parents:
diff changeset
62 }
anatofuz
parents:
diff changeset
63
anatofuz
parents:
diff changeset
64 attributes #0 = { nounwind }
anatofuz
parents:
diff changeset
65 attributes #1 = { nounwind "target-cpu"="gfx908" }