annotate test/CodeGen/AMDGPU/llvm.memcpy.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
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
1 ; RUN: llc -march=amdgcn -mcpu=tahiti -verify-machineinstrs < %s | FileCheck -check-prefix=SI -check-prefix=FUNC %s
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
2 ; RUN: llc -march=amdgcn -mcpu=tonga -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=SI -check-prefix=FUNC %s
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 declare void @llvm.memcpy.p3i8.p3i8.i32(i8 addrspace(3)* nocapture, i8 addrspace(3)* nocapture, i32, i32, i1) nounwind
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 declare void @llvm.memcpy.p1i8.p1i8.i64(i8 addrspace(1)* nocapture, i8 addrspace(1)* nocapture, i64, i32, i1) nounwind
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
6 declare void @llvm.memcpy.p1i8.p2i8.i64(i8 addrspace(1)* nocapture, i8 addrspace(2)* nocapture, i64, i32, i1) nounwind
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
9 ; FUNC-LABEL: {{^}}test_small_memcpy_i64_lds_to_lds_align1:
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
10 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
11 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
12 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
13 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
14 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
15 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
16 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
17 ; SI-DAG: ds_read_u8
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
19 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
20 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
21 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
22 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
23 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
24 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
25 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
26 ; SI-DAG: ds_read_u8
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
28 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
29 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
30 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
31 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
32 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
33 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
34 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
35 ; SI-DAG: ds_read_u8
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
37 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
38 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
39 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
40 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
41 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
42 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
43 ; SI-DAG: ds_read_u8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
44 ; SI-DAG: ds_read_u8
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
46 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
47 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
48 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
49 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
50 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
51 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
52 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
53 ; SI-DAG: ds_write_b8
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
55 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
56 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
57 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
58 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
59 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
60 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
61 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
62 ; SI-DAG: ds_write_b8
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
63
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
64 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
65 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
66 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
67 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
68 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
69 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
70 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
71 ; SI-DAG: ds_write_b8
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
72
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
73 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
74 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
75 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
76 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
77 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
78 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
79 ; SI-DAG: ds_write_b8
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
80 ; SI-DAG: ds_write_b8
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
81
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
82 ; SI: s_endpgm
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
83 define amdgpu_kernel void @test_small_memcpy_i64_lds_to_lds_align1(i64 addrspace(3)* noalias %out, i64 addrspace(3)* noalias %in) nounwind {
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 %bcin = bitcast i64 addrspace(3)* %in to i8 addrspace(3)*
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 %bcout = bitcast i64 addrspace(3)* %out to i8 addrspace(3)*
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 call void @llvm.memcpy.p3i8.p3i8.i32(i8 addrspace(3)* %bcout, i8 addrspace(3)* %bcin, i32 32, i32 1, i1 false) nounwind
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 ret void
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
89
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
90 ; FUNC-LABEL: {{^}}test_small_memcpy_i64_lds_to_lds_align2:
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
91 ; SI-DAG: ds_read_u16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
92 ; SI-DAG: ds_read_u16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
93 ; SI-DAG: ds_read_u16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
94 ; SI-DAG: ds_read_u16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
95 ; SI-DAG: ds_read_u16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
96 ; SI-DAG: ds_read_u16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
97 ; SI-DAG: ds_read_u16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
98 ; SI-DAG: ds_read_u16
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
99
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
100 ; SI-DAG: ds_read_u16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
101 ; SI-DAG: ds_read_u16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
102 ; SI-DAG: ds_read_u16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
103 ; SI-DAG: ds_read_u16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
104 ; SI-DAG: ds_read_u16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
105 ; SI-DAG: ds_read_u16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
106 ; SI-DAG: ds_read_u16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
107 ; SI-DAG: ds_read_u16
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
108
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
109 ; SI-DAG: ds_write_b16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
110 ; SI-DAG: ds_write_b16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
111 ; SI-DAG: ds_write_b16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
112 ; SI-DAG: ds_write_b16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
113 ; SI-DAG: ds_write_b16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
114 ; SI-DAG: ds_write_b16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
115 ; SI-DAG: ds_write_b16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
116 ; SI-DAG: ds_write_b16
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
117
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
118 ; SI-DAG: ds_write_b16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
119 ; SI-DAG: ds_write_b16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
120 ; SI-DAG: ds_write_b16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
121 ; SI-DAG: ds_write_b16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
122 ; SI-DAG: ds_write_b16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
123 ; SI-DAG: ds_write_b16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
124 ; SI-DAG: ds_write_b16
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
125 ; SI-DAG: ds_write_b16
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
126
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
127 ; SI: s_endpgm
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
128 define amdgpu_kernel void @test_small_memcpy_i64_lds_to_lds_align2(i64 addrspace(3)* noalias %out, i64 addrspace(3)* noalias %in) nounwind {
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
129 %bcin = bitcast i64 addrspace(3)* %in to i8 addrspace(3)*
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 %bcout = bitcast i64 addrspace(3)* %out to i8 addrspace(3)*
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 call void @llvm.memcpy.p3i8.p3i8.i32(i8 addrspace(3)* %bcout, i8 addrspace(3)* %bcin, i32 32, i32 2, i1 false) nounwind
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
132 ret void
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
134
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
135 ; FUNC-LABEL: {{^}}test_small_memcpy_i64_lds_to_lds_align4:
100
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
136 ; SI: ds_read2_b32
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
137 ; SI: ds_read2_b32
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
138 ; SI: ds_read2_b32
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
139 ; SI: ds_read2_b32
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
140
100
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
141 ; SI: ds_write2_b32
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
142 ; SI: ds_write2_b32
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
143 ; SI: ds_write2_b32
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents: 95
diff changeset
144 ; SI: ds_write2_b32
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
145
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
146 ; SI: s_endpgm
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
147 define amdgpu_kernel void @test_small_memcpy_i64_lds_to_lds_align4(i64 addrspace(3)* noalias %out, i64 addrspace(3)* noalias %in) nounwind {
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 %bcin = bitcast i64 addrspace(3)* %in to i8 addrspace(3)*
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
149 %bcout = bitcast i64 addrspace(3)* %out to i8 addrspace(3)*
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 call void @llvm.memcpy.p3i8.p3i8.i32(i8 addrspace(3)* %bcout, i8 addrspace(3)* %bcin, i32 32, i32 4, i1 false) nounwind
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
151 ret void
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
152 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
153
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 ; FIXME: Use 64-bit ops
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
155 ; FUNC-LABEL: {{^}}test_small_memcpy_i64_lds_to_lds_align8:
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
156
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
157 ; SI: ds_read2_b64
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
158 ; SI: ds_read2_b64
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
159
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
160 ; SI: ds_write2_b64
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
161 ; SI: ds_write2_b64
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
162
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
163 ; SI-DAG: s_endpgm
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
164 define amdgpu_kernel void @test_small_memcpy_i64_lds_to_lds_align8(i64 addrspace(3)* noalias %out, i64 addrspace(3)* noalias %in) nounwind {
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 %bcin = bitcast i64 addrspace(3)* %in to i8 addrspace(3)*
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 %bcout = bitcast i64 addrspace(3)* %out to i8 addrspace(3)*
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 call void @llvm.memcpy.p3i8.p3i8.i32(i8 addrspace(3)* %bcout, i8 addrspace(3)* %bcin, i32 32, i32 8, i1 false) nounwind
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 ret void
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
170
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
171 ; FUNC-LABEL: {{^}}test_small_memcpy_i64_global_to_global_align1:
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
172 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
173 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
174 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
175 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
176 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
177 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
178 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
179 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
180 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
181 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
182 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
183 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
184 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
185 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
186 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
187 ; SI-DAG: buffer_store_byte
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
188
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
189 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
190 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
191 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
192 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
193 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
194 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
195 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
196 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
197 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
198 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
199 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
200 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
201 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
202 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
203 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
204 ; SI-DAG: buffer_store_byte
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
205
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
206 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
207 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
208 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
209 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
210 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
211 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
212 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
213 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
214 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
215 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
216 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
217 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
218 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
219 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
220 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
221 ; SI-DAG: buffer_store_byte
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
222
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
223 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
224 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
225 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
226 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
227 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
228 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
229 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
230 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
231 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
232 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
233 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
234 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
235 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
236 ; SI-DAG: buffer_store_byte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
237 ; SI-DAG: buffer_load_ubyte
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
238 ; SI-DAG: buffer_store_byte
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
239
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
240 ; SI: s_endpgm
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
241 define amdgpu_kernel void @test_small_memcpy_i64_global_to_global_align1(i64 addrspace(1)* noalias %out, i64 addrspace(1)* noalias %in) nounwind {
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
242 %bcin = bitcast i64 addrspace(1)* %in to i8 addrspace(1)*
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
243 %bcout = bitcast i64 addrspace(1)* %out to i8 addrspace(1)*
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
244 call void @llvm.memcpy.p1i8.p1i8.i64(i8 addrspace(1)* %bcout, i8 addrspace(1)* %bcin, i64 32, i32 1, i1 false) nounwind
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
245 ret void
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
246 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
247
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
248 ; FUNC-LABEL: {{^}}test_small_memcpy_i64_global_to_global_align2:
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
249 ; SI-DAG: buffer_load_ushort
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
250 ; SI-DAG: buffer_load_ushort
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
251 ; SI-DAG: buffer_load_ushort
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
252 ; SI-DAG: buffer_load_ushort
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
253 ; SI-DAG: buffer_load_ushort
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
254 ; SI-DAG: buffer_load_ushort
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
255 ; SI-DAG: buffer_load_ushort
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
256 ; SI-DAG: buffer_load_ushort
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
257 ; SI-DAG: buffer_load_ushort
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
258 ; SI-DAG: buffer_load_ushort
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
259 ; SI-DAG: buffer_load_ushort
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
260 ; SI-DAG: buffer_load_ushort
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
261 ; SI-DAG: buffer_load_ushort
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
262 ; SI-DAG: buffer_load_ushort
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
263 ; SI-DAG: buffer_load_ushort
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
264 ; SI-DAG: buffer_load_ushort
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
265
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
266 ; SI-DAG: buffer_store_short
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
267 ; SI-DAG: buffer_store_short
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
268 ; SI-DAG: buffer_store_short
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
269 ; SI-DAG: buffer_store_short
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
270 ; SI-DAG: buffer_store_short
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
271 ; SI-DAG: buffer_store_short
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
272 ; SI-DAG: buffer_store_short
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
273 ; SI-DAG: buffer_store_short
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
274 ; SI-DAG: buffer_store_short
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
275 ; SI-DAG: buffer_store_short
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
276 ; SI-DAG: buffer_store_short
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
277 ; SI-DAG: buffer_store_short
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
278 ; SI-DAG: buffer_store_short
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
279 ; SI-DAG: buffer_store_short
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
280 ; SI-DAG: buffer_store_short
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
281 ; SI-DAG: buffer_store_short
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
282
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
283 ; SI: s_endpgm
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
284 define amdgpu_kernel void @test_small_memcpy_i64_global_to_global_align2(i64 addrspace(1)* noalias %out, i64 addrspace(1)* noalias %in) nounwind {
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
285 %bcin = bitcast i64 addrspace(1)* %in to i8 addrspace(1)*
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
286 %bcout = bitcast i64 addrspace(1)* %out to i8 addrspace(1)*
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
287 call void @llvm.memcpy.p1i8.p1i8.i64(i8 addrspace(1)* %bcout, i8 addrspace(1)* %bcin, i64 32, i32 2, i1 false) nounwind
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
288 ret void
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
289 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
290
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
291 ; FUNC-LABEL: {{^}}test_small_memcpy_i64_global_to_global_align4:
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
292 ; SI: buffer_load_dwordx4
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
293 ; SI: buffer_load_dwordx4
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
294 ; SI: buffer_store_dwordx4
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
295 ; SI: buffer_store_dwordx4
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
296 ; SI: s_endpgm
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
297 define amdgpu_kernel void @test_small_memcpy_i64_global_to_global_align4(i64 addrspace(1)* noalias %out, i64 addrspace(1)* noalias %in) nounwind {
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
298 %bcin = bitcast i64 addrspace(1)* %in to i8 addrspace(1)*
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
299 %bcout = bitcast i64 addrspace(1)* %out to i8 addrspace(1)*
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
300 call void @llvm.memcpy.p1i8.p1i8.i64(i8 addrspace(1)* %bcout, i8 addrspace(1)* %bcin, i64 32, i32 4, i1 false) nounwind
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
301 ret void
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
302 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
303
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
304 ; FUNC-LABEL: {{^}}test_small_memcpy_i64_global_to_global_align8:
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
305 ; SI: buffer_load_dwordx4
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
306 ; SI: buffer_load_dwordx4
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
307 ; SI: buffer_store_dwordx4
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
308 ; SI: buffer_store_dwordx4
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
309 ; SI: s_endpgm
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
310 define amdgpu_kernel void @test_small_memcpy_i64_global_to_global_align8(i64 addrspace(1)* noalias %out, i64 addrspace(1)* noalias %in) nounwind {
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
311 %bcin = bitcast i64 addrspace(1)* %in to i8 addrspace(1)*
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
312 %bcout = bitcast i64 addrspace(1)* %out to i8 addrspace(1)*
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
313 call void @llvm.memcpy.p1i8.p1i8.i64(i8 addrspace(1)* %bcout, i8 addrspace(1)* %bcin, i64 32, i32 8, i1 false) nounwind
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
314 ret void
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
315 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
316
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
317 ; FUNC-LABEL: {{^}}test_small_memcpy_i64_global_to_global_align16:
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
318 ; SI: buffer_load_dwordx4
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
319 ; SI: buffer_load_dwordx4
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
320 ; SI: buffer_store_dwordx4
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
321 ; SI: buffer_store_dwordx4
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
322 ; SI: s_endpgm
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
323 define amdgpu_kernel void @test_small_memcpy_i64_global_to_global_align16(i64 addrspace(1)* noalias %out, i64 addrspace(1)* noalias %in) nounwind {
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
324 %bcin = bitcast i64 addrspace(1)* %in to i8 addrspace(1)*
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
325 %bcout = bitcast i64 addrspace(1)* %out to i8 addrspace(1)*
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
326 call void @llvm.memcpy.p1i8.p1i8.i64(i8 addrspace(1)* %bcout, i8 addrspace(1)* %bcin, i64 32, i32 16, i1 false) nounwind
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
327 ret void
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
328 }
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
329
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
330 ; Test shouldConvertConstantLoadToIntImm
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
331 @hello.align4 = private unnamed_addr addrspace(2) constant [16 x i8] c"constant string\00", align 4
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
332 @hello.align1 = private unnamed_addr addrspace(2) constant [16 x i8] c"constant string\00", align 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
333
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
334 ; FUNC-LABEL: {{^}}test_memcpy_const_string_align4:
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
335 ; SI: s_getpc_b64
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
336 ; SI: s_add_u32 s{{[0-9]+}}, s{{[0-9]+}}, hello.align4+20
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
337 ; SI: s_addc_u32
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
338 ; SI-DAG: s_load_dwordx4
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
339 ; SI-DAG: s_load_dwordx4
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
340 ; SI-DAG: s_load_dwordx2
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
341 ; SI-DAG: buffer_store_dwordx4
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
342 ; SI-DAG: buffer_store_dwordx4
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
343 define amdgpu_kernel void @test_memcpy_const_string_align4(i8 addrspace(1)* noalias %out) nounwind {
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
344 %str = bitcast [16 x i8] addrspace(2)* @hello.align4 to i8 addrspace(2)*
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
345 call void @llvm.memcpy.p1i8.p2i8.i64(i8 addrspace(1)* %out, i8 addrspace(2)* %str, i64 32, i32 4, i1 false)
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
346 ret void
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
347 }
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
348
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
349 ; FUNC-LABEL: {{^}}test_memcpy_const_string_align1:
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
350 ; SI-NOT: buffer_load
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
351 ; SI: v_mov_b32_e32 v{{[0-9]+}}, 0x69
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
352 ; SI: buffer_store_byte
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
353 ; SI: buffer_store_byte
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
354 ; SI: buffer_store_byte
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
355 ; SI: buffer_store_byte
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
356 ; SI: buffer_store_byte
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
357 ; SI: buffer_store_byte
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
358 ; SI: buffer_store_byte
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
359 ; SI: buffer_store_byte
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
360 ; SI: buffer_store_byte
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
361 ; SI: buffer_store_byte
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
362 ; SI: buffer_store_byte
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
363 ; SI: buffer_store_byte
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
364 ; SI: buffer_store_byte
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
365 ; SI: buffer_store_byte
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
366 ; SI: buffer_store_byte
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
367 ; SI: buffer_store_byte
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
368 define amdgpu_kernel void @test_memcpy_const_string_align1(i8 addrspace(1)* noalias %out) nounwind {
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
369 %str = bitcast [16 x i8] addrspace(2)* @hello.align1 to i8 addrspace(2)*
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
370 call void @llvm.memcpy.p1i8.p2i8.i64(i8 addrspace(1)* %out, i8 addrspace(2)* %str, i64 32, i32 1, i1 false)
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
371 ret void
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
372 }