4
4
define void @store_atomic_f32_global_system (float %val , ptr addrspace (1 ) %ptr ) {
5
5
; CHECK-LABEL: define void @store_atomic_f32_global_system(
6
6
; CHECK-SAME: float [[VAL:%.*]], ptr addrspace(1) [[PTR:%.*]]) {
7
- ; CHECK-NEXT: [[TMP1:%.*]] = bitcast float [[VAL]] to i32
8
- ; CHECK-NEXT: store atomic i32 [[TMP1]], ptr addrspace(1) [[PTR]] seq_cst, align 4
7
+ ; CHECK-NEXT: store atomic float [[VAL]], ptr addrspace(1) [[PTR]] seq_cst, align 4, !some.unknown.md [[META0:![0-9]+]]
9
8
; CHECK-NEXT: ret void
10
9
;
11
10
store atomic float %val , ptr addrspace (1 ) %ptr seq_cst , align 4 , !some.unknown.md !0
@@ -15,8 +14,7 @@ define void @store_atomic_f32_global_system(float %val, ptr addrspace(1) %ptr) {
15
14
define void @store_atomic_f32_global_agent (float %val , ptr addrspace (1 ) %ptr ) {
16
15
; CHECK-LABEL: define void @store_atomic_f32_global_agent(
17
16
; CHECK-SAME: float [[VAL:%.*]], ptr addrspace(1) [[PTR:%.*]]) {
18
- ; CHECK-NEXT: [[TMP1:%.*]] = bitcast float [[VAL]] to i32
19
- ; CHECK-NEXT: store atomic i32 [[TMP1]], ptr addrspace(1) [[PTR]] syncscope("agent") seq_cst, align 4
17
+ ; CHECK-NEXT: store atomic float [[VAL]], ptr addrspace(1) [[PTR]] syncscope("agent") seq_cst, align 4, !some.unknown.md [[META0]]
20
18
; CHECK-NEXT: ret void
21
19
;
22
20
store atomic float %val , ptr addrspace (1 ) %ptr syncscope("agent" ) seq_cst , align 4 , !some.unknown.md !0
@@ -26,8 +24,7 @@ define void @store_atomic_f32_global_agent(float %val, ptr addrspace(1) %ptr) {
26
24
define void @store_atomic_f32_local (float %val , ptr addrspace (3 ) %ptr ) {
27
25
; CHECK-LABEL: define void @store_atomic_f32_local(
28
26
; CHECK-SAME: float [[VAL:%.*]], ptr addrspace(3) [[PTR:%.*]]) {
29
- ; CHECK-NEXT: [[TMP1:%.*]] = bitcast float [[VAL]] to i32
30
- ; CHECK-NEXT: store atomic i32 [[TMP1]], ptr addrspace(3) [[PTR]] seq_cst, align 4
27
+ ; CHECK-NEXT: store atomic float [[VAL]], ptr addrspace(3) [[PTR]] seq_cst, align 4, !some.unknown.md [[META0]]
31
28
; CHECK-NEXT: ret void
32
29
;
33
30
store atomic float %val , ptr addrspace (3 ) %ptr seq_cst , align 4 , !some.unknown.md !0
@@ -37,8 +34,7 @@ define void @store_atomic_f32_local(float %val, ptr addrspace(3) %ptr) {
37
34
define void @store_atomic_f32_flat (float %val , ptr %ptr ) {
38
35
; CHECK-LABEL: define void @store_atomic_f32_flat(
39
36
; CHECK-SAME: float [[VAL:%.*]], ptr [[PTR:%.*]]) {
40
- ; CHECK-NEXT: [[TMP1:%.*]] = bitcast float [[VAL]] to i32
41
- ; CHECK-NEXT: store atomic i32 [[TMP1]], ptr [[PTR]] seq_cst, align 4
37
+ ; CHECK-NEXT: store atomic float [[VAL]], ptr [[PTR]] seq_cst, align 4, !some.unknown.md [[META0]]
42
38
; CHECK-NEXT: ret void
43
39
;
44
40
store atomic float %val , ptr %ptr seq_cst , align 4 , !some.unknown.md !0
@@ -48,8 +44,7 @@ define void @store_atomic_f32_flat(float %val, ptr %ptr) {
48
44
define void @store_atomic_f16_global_system (half %val , ptr addrspace (1 ) %ptr ) {
49
45
; CHECK-LABEL: define void @store_atomic_f16_global_system(
50
46
; CHECK-SAME: half [[VAL:%.*]], ptr addrspace(1) [[PTR:%.*]]) {
51
- ; CHECK-NEXT: [[TMP1:%.*]] = bitcast half [[VAL]] to i16
52
- ; CHECK-NEXT: store atomic i16 [[TMP1]], ptr addrspace(1) [[PTR]] seq_cst, align 4
47
+ ; CHECK-NEXT: store atomic half [[VAL]], ptr addrspace(1) [[PTR]] seq_cst, align 4, !some.unknown.md [[META0]]
53
48
; CHECK-NEXT: ret void
54
49
;
55
50
store atomic half %val , ptr addrspace (1 ) %ptr seq_cst , align 4 , !some.unknown.md !0
@@ -59,8 +54,7 @@ define void @store_atomic_f16_global_system(half %val, ptr addrspace(1) %ptr) {
59
54
define void @store_atomic_f16_global_agent (half %val , ptr addrspace (1 ) %ptr ) {
60
55
; CHECK-LABEL: define void @store_atomic_f16_global_agent(
61
56
; CHECK-SAME: half [[VAL:%.*]], ptr addrspace(1) [[PTR:%.*]]) {
62
- ; CHECK-NEXT: [[TMP1:%.*]] = bitcast half [[VAL]] to i16
63
- ; CHECK-NEXT: store atomic i16 [[TMP1]], ptr addrspace(1) [[PTR]] syncscope("agent") seq_cst, align 4
57
+ ; CHECK-NEXT: store atomic half [[VAL]], ptr addrspace(1) [[PTR]] syncscope("agent") seq_cst, align 4, !some.unknown.md [[META0]]
64
58
; CHECK-NEXT: ret void
65
59
;
66
60
store atomic half %val , ptr addrspace (1 ) %ptr syncscope("agent" ) seq_cst , align 4 , !some.unknown.md !0
@@ -70,8 +64,7 @@ define void @store_atomic_f16_global_agent(half %val, ptr addrspace(1) %ptr) {
70
64
define void @store_atomic_f16_local (half %val , ptr addrspace (3 ) %ptr ) {
71
65
; CHECK-LABEL: define void @store_atomic_f16_local(
72
66
; CHECK-SAME: half [[VAL:%.*]], ptr addrspace(3) [[PTR:%.*]]) {
73
- ; CHECK-NEXT: [[TMP1:%.*]] = bitcast half [[VAL]] to i16
74
- ; CHECK-NEXT: store atomic i16 [[TMP1]], ptr addrspace(3) [[PTR]] seq_cst, align 4
67
+ ; CHECK-NEXT: store atomic half [[VAL]], ptr addrspace(3) [[PTR]] seq_cst, align 4, !some.unknown.md [[META0]]
75
68
; CHECK-NEXT: ret void
76
69
;
77
70
store atomic half %val , ptr addrspace (3 ) %ptr seq_cst , align 4 , !some.unknown.md !0
@@ -81,8 +74,7 @@ define void @store_atomic_f16_local(half %val, ptr addrspace(3) %ptr) {
81
74
define void @store_atomic_f16_flat (half %val , ptr %ptr ) {
82
75
; CHECK-LABEL: define void @store_atomic_f16_flat(
83
76
; CHECK-SAME: half [[VAL:%.*]], ptr [[PTR:%.*]]) {
84
- ; CHECK-NEXT: [[TMP1:%.*]] = bitcast half [[VAL]] to i16
85
- ; CHECK-NEXT: store atomic i16 [[TMP1]], ptr [[PTR]] seq_cst, align 4
77
+ ; CHECK-NEXT: store atomic half [[VAL]], ptr [[PTR]] seq_cst, align 4, !some.unknown.md [[META0]]
86
78
; CHECK-NEXT: ret void
87
79
;
88
80
store atomic half %val , ptr %ptr seq_cst , align 4 , !some.unknown.md !0
@@ -92,8 +84,7 @@ define void @store_atomic_f16_flat(half %val, ptr %ptr) {
92
84
define void @store_atomic_bf16_global_system (bfloat %val , ptr addrspace (1 ) %ptr ) {
93
85
; CHECK-LABEL: define void @store_atomic_bf16_global_system(
94
86
; CHECK-SAME: bfloat [[VAL:%.*]], ptr addrspace(1) [[PTR:%.*]]) {
95
- ; CHECK-NEXT: [[TMP1:%.*]] = bitcast bfloat [[VAL]] to i16
96
- ; CHECK-NEXT: store atomic i16 [[TMP1]], ptr addrspace(1) [[PTR]] seq_cst, align 4
87
+ ; CHECK-NEXT: store atomic bfloat [[VAL]], ptr addrspace(1) [[PTR]] seq_cst, align 4, !some.unknown.md [[META0]]
97
88
; CHECK-NEXT: ret void
98
89
;
99
90
store atomic bfloat %val , ptr addrspace (1 ) %ptr seq_cst , align 4 , !some.unknown.md !0
@@ -103,8 +94,7 @@ define void @store_atomic_bf16_global_system(bfloat %val, ptr addrspace(1) %ptr)
103
94
define void @store_atomic_bf16_global_agent (bfloat %val , ptr addrspace (1 ) %ptr ) {
104
95
; CHECK-LABEL: define void @store_atomic_bf16_global_agent(
105
96
; CHECK-SAME: bfloat [[VAL:%.*]], ptr addrspace(1) [[PTR:%.*]]) {
106
- ; CHECK-NEXT: [[TMP1:%.*]] = bitcast bfloat [[VAL]] to i16
107
- ; CHECK-NEXT: store atomic i16 [[TMP1]], ptr addrspace(1) [[PTR]] syncscope("agent") seq_cst, align 4
97
+ ; CHECK-NEXT: store atomic bfloat [[VAL]], ptr addrspace(1) [[PTR]] syncscope("agent") seq_cst, align 4, !some.unknown.md [[META0]]
108
98
; CHECK-NEXT: ret void
109
99
;
110
100
store atomic bfloat %val , ptr addrspace (1 ) %ptr syncscope("agent" ) seq_cst , align 4 , !some.unknown.md !0
@@ -114,8 +104,7 @@ define void @store_atomic_bf16_global_agent(bfloat %val, ptr addrspace(1) %ptr)
114
104
define void @store_atomic_bf16_local (bfloat %val , ptr addrspace (3 ) %ptr ) {
115
105
; CHECK-LABEL: define void @store_atomic_bf16_local(
116
106
; CHECK-SAME: bfloat [[VAL:%.*]], ptr addrspace(3) [[PTR:%.*]]) {
117
- ; CHECK-NEXT: [[TMP1:%.*]] = bitcast bfloat [[VAL]] to i16
118
- ; CHECK-NEXT: store atomic i16 [[TMP1]], ptr addrspace(3) [[PTR]] seq_cst, align 4
107
+ ; CHECK-NEXT: store atomic bfloat [[VAL]], ptr addrspace(3) [[PTR]] seq_cst, align 4, !some.unknown.md [[META0]]
119
108
; CHECK-NEXT: ret void
120
109
;
121
110
store atomic bfloat %val , ptr addrspace (3 ) %ptr seq_cst , align 4 , !some.unknown.md !0
@@ -125,8 +114,7 @@ define void @store_atomic_bf16_local(bfloat %val, ptr addrspace(3) %ptr) {
125
114
define void @store_atomic_bf16_flat (bfloat %val , ptr %ptr ) {
126
115
; CHECK-LABEL: define void @store_atomic_bf16_flat(
127
116
; CHECK-SAME: bfloat [[VAL:%.*]], ptr [[PTR:%.*]]) {
128
- ; CHECK-NEXT: [[TMP1:%.*]] = bitcast bfloat [[VAL]] to i16
129
- ; CHECK-NEXT: store atomic i16 [[TMP1]], ptr [[PTR]] seq_cst, align 4
117
+ ; CHECK-NEXT: store atomic bfloat [[VAL]], ptr [[PTR]] seq_cst, align 4, !some.unknown.md [[META0]]
130
118
; CHECK-NEXT: ret void
131
119
;
132
120
store atomic bfloat %val , ptr %ptr seq_cst , align 4 , !some.unknown.md !0
@@ -135,8 +123,7 @@ define void @store_atomic_bf16_flat(bfloat %val, ptr %ptr) {
135
123
define void @store_atomic_f64_global_system (double %val , ptr addrspace (1 ) %ptr ) {
136
124
; CHECK-LABEL: define void @store_atomic_f64_global_system(
137
125
; CHECK-SAME: double [[VAL:%.*]], ptr addrspace(1) [[PTR:%.*]]) {
138
- ; CHECK-NEXT: [[TMP1:%.*]] = bitcast double [[VAL]] to i64
139
- ; CHECK-NEXT: store atomic i64 [[TMP1]], ptr addrspace(1) [[PTR]] seq_cst, align 8
126
+ ; CHECK-NEXT: store atomic double [[VAL]], ptr addrspace(1) [[PTR]] seq_cst, align 8, !some.unknown.md [[META0]]
140
127
; CHECK-NEXT: ret void
141
128
;
142
129
store atomic double %val , ptr addrspace (1 ) %ptr seq_cst , align 8 , !some.unknown.md !0
@@ -146,8 +133,7 @@ define void @store_atomic_f64_global_system(double %val, ptr addrspace(1) %ptr)
146
133
define void @store_atomic_f64_global_agent (double %val , ptr addrspace (1 ) %ptr ) {
147
134
; CHECK-LABEL: define void @store_atomic_f64_global_agent(
148
135
; CHECK-SAME: double [[VAL:%.*]], ptr addrspace(1) [[PTR:%.*]]) {
149
- ; CHECK-NEXT: [[TMP1:%.*]] = bitcast double [[VAL]] to i64
150
- ; CHECK-NEXT: store atomic i64 [[TMP1]], ptr addrspace(1) [[PTR]] syncscope("agent") seq_cst, align 8
136
+ ; CHECK-NEXT: store atomic double [[VAL]], ptr addrspace(1) [[PTR]] syncscope("agent") seq_cst, align 8, !some.unknown.md [[META0]]
151
137
; CHECK-NEXT: ret void
152
138
;
153
139
store atomic double %val , ptr addrspace (1 ) %ptr syncscope("agent" ) seq_cst , align 8 , !some.unknown.md !0
@@ -157,8 +143,7 @@ define void @store_atomic_f64_global_agent(double %val, ptr addrspace(1) %ptr) {
157
143
define void @store_atomic_f64_local (double %val , ptr addrspace (3 ) %ptr ) {
158
144
; CHECK-LABEL: define void @store_atomic_f64_local(
159
145
; CHECK-SAME: double [[VAL:%.*]], ptr addrspace(3) [[PTR:%.*]]) {
160
- ; CHECK-NEXT: [[TMP1:%.*]] = bitcast double [[VAL]] to i64
161
- ; CHECK-NEXT: store atomic i64 [[TMP1]], ptr addrspace(3) [[PTR]] seq_cst, align 8
146
+ ; CHECK-NEXT: store atomic double [[VAL]], ptr addrspace(3) [[PTR]] seq_cst, align 8, !some.unknown.md [[META0]]
162
147
; CHECK-NEXT: ret void
163
148
;
164
149
store atomic double %val , ptr addrspace (3 ) %ptr seq_cst , align 8 , !some.unknown.md !0
@@ -168,12 +153,14 @@ define void @store_atomic_f64_local(double %val, ptr addrspace(3) %ptr) {
168
153
define void @store_atomic_f64_flat (double %val , ptr %ptr ) {
169
154
; CHECK-LABEL: define void @store_atomic_f64_flat(
170
155
; CHECK-SAME: double [[VAL:%.*]], ptr [[PTR:%.*]]) {
171
- ; CHECK-NEXT: [[TMP1:%.*]] = bitcast double [[VAL]] to i64
172
- ; CHECK-NEXT: store atomic i64 [[TMP1]], ptr [[PTR]] seq_cst, align 8
156
+ ; CHECK-NEXT: store atomic double [[VAL]], ptr [[PTR]] seq_cst, align 8, !some.unknown.md [[META0]]
173
157
; CHECK-NEXT: ret void
174
158
;
175
159
store atomic double %val , ptr %ptr seq_cst , align 8 , !some.unknown.md !0
176
160
ret void
177
161
}
178
162
179
163
!0 = !{}
164
+ ;.
165
+ ; CHECK: [[META0]] = !{}
166
+ ;.
0 commit comments