annotate test/CodeGen/AMDGPU/load-local-f32.ll @ 128:c347d3398279 default tip

fix
author mir3636
date Wed, 06 Dec 2017 14:37:17 +0900
parents 803732b1fca8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
120
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
1 ; RUN: llc -march=amdgcn -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=FUNC %s
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
2 ; RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=FUNC %s
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
3 ; RUN: llc -march=r600 -mcpu=redwood < %s | FileCheck -check-prefix=EG -check-prefix=FUNC %s
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
4
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
5 ; FUNC-LABEL: {{^}}load_f32_local:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
6 ; GCN: s_mov_b32 m0
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
7 ; GCN: ds_read_b32
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
8
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
9 ; EG: LDS_READ_RET
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
10 define amdgpu_kernel void @load_f32_local(float addrspace(1)* %out, float addrspace(3)* %in) #0 {
120
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
11 entry:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
12 %tmp0 = load float, float addrspace(3)* %in
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
13 store float %tmp0, float addrspace(1)* %out
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
14 ret void
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
15 }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
16
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
17 ; FUNC-LABEL: {{^}}load_v2f32_local:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
18 ; GCN: s_mov_b32 m0
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
19 ; GCN: ds_read_b64
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
20
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
21 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
22 ; EG: LDS_READ_RET
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
23 define amdgpu_kernel void @load_v2f32_local(<2 x float> addrspace(1)* %out, <2 x float> addrspace(3)* %in) #0 {
120
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
24 entry:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
25 %tmp0 = load <2 x float>, <2 x float> addrspace(3)* %in
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
26 store <2 x float> %tmp0, <2 x float> addrspace(1)* %out
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
27 ret void
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
28 }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
29
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
30 ; FIXME: should this do a read2_b64?
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
31 ; FUNC-LABEL: {{^}}local_load_v3f32:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
32 ; GCN-DAG: ds_read_b32 v{{[0-9]+}}, v{{[0-9]+}} offset:8
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
33 ; GCN-DAG: ds_read_b64 v{{\[[0-9]+:[0-9]+\]}}, v{{[0-9]+$}}
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
34 ; GCN: s_waitcnt
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
35 ; GCN-DAG: ds_write_b64
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
36 ; GCN-DAG: ds_write_b32 v{{[0-9]+}}, v{{[0-9]+}} offset:8{{$}}
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
37
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
38 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
39 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
40 ; EG: LDS_READ_RET
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
41 define amdgpu_kernel void @local_load_v3f32(<3 x float> addrspace(3)* %out, <3 x float> addrspace(3)* %in) #0 {
120
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
42 entry:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
43 %tmp0 = load <3 x float>, <3 x float> addrspace(3)* %in
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
44 store <3 x float> %tmp0, <3 x float> addrspace(3)* %out
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
45 ret void
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
46 }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
47
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
48 ; FUNC-LABEL: {{^}}local_load_v4f32:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
49 ; GCN: ds_read2_b64
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
50
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
51 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
52 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
53 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
54 ; EG: LDS_READ_RET
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
55 define amdgpu_kernel void @local_load_v4f32(<4 x float> addrspace(3)* %out, <4 x float> addrspace(3)* %in) #0 {
120
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
56 entry:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
57 %tmp0 = load <4 x float>, <4 x float> addrspace(3)* %in
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
58 store <4 x float> %tmp0, <4 x float> addrspace(3)* %out
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
59 ret void
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
60 }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
61
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
62 ; FUNC-LABEL: {{^}}local_load_v8f32:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
63 ; GCN: ds_read2_b64
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
64 ; GCN: ds_read2_b64
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
65
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
66 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
67 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
68 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
69 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
70 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
71 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
72 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
73 ; EG: LDS_READ_RET
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
74 define amdgpu_kernel void @local_load_v8f32(<8 x float> addrspace(3)* %out, <8 x float> addrspace(3)* %in) #0 {
120
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
75 entry:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
76 %tmp0 = load <8 x float>, <8 x float> addrspace(3)* %in
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
77 store <8 x float> %tmp0, <8 x float> addrspace(3)* %out
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
78 ret void
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
79 }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
80
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
81 ; FUNC-LABEL: {{^}}local_load_v16f32:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
82 ; GCN: ds_read2_b64
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
83 ; GCN: ds_read2_b64
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
84 ; GCN: ds_read2_b64
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
85 ; GCN: ds_read2_b64
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
86
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
87 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
88 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
89 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
90 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
91 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
92 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
93 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
94 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
95 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
96 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
97 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
98 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
99 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
100 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
101 ; EG: LDS_READ_RET
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
102 ; EG: LDS_READ_RET
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
103 define amdgpu_kernel void @local_load_v16f32(<16 x float> addrspace(3)* %out, <16 x float> addrspace(3)* %in) #0 {
120
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
104 entry:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
105 %tmp0 = load <16 x float>, <16 x float> addrspace(3)* %in
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
106 store <16 x float> %tmp0, <16 x float> addrspace(3)* %out
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
107 ret void
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
108 }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
109
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
110 attributes #0 = { nounwind }