44define void @store_atomic_f32_global_system (float %val , ptr addrspace (1 ) %ptr ) {
55; CHECK-LABEL: define void @store_atomic_f32_global_system(
66; 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]+]]
98; CHECK-NEXT: ret void
109;
1110 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) {
1514define void @store_atomic_f32_global_agent (float %val , ptr addrspace (1 ) %ptr ) {
1615; CHECK-LABEL: define void @store_atomic_f32_global_agent(
1716; 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]]
2018; CHECK-NEXT: ret void
2119;
2220 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) {
2624define void @store_atomic_f32_local (float %val , ptr addrspace (3 ) %ptr ) {
2725; CHECK-LABEL: define void @store_atomic_f32_local(
2826; 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]]
3128; CHECK-NEXT: ret void
3229;
3330 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) {
3734define void @store_atomic_f32_flat (float %val , ptr %ptr ) {
3835; CHECK-LABEL: define void @store_atomic_f32_flat(
3936; 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]]
4238; CHECK-NEXT: ret void
4339;
4440 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) {
4844define void @store_atomic_f16_global_system (half %val , ptr addrspace (1 ) %ptr ) {
4945; CHECK-LABEL: define void @store_atomic_f16_global_system(
5046; 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]]
5348; CHECK-NEXT: ret void
5449;
5550 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) {
5954define void @store_atomic_f16_global_agent (half %val , ptr addrspace (1 ) %ptr ) {
6055; CHECK-LABEL: define void @store_atomic_f16_global_agent(
6156; 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]]
6458; CHECK-NEXT: ret void
6559;
6660 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) {
7064define void @store_atomic_f16_local (half %val , ptr addrspace (3 ) %ptr ) {
7165; CHECK-LABEL: define void @store_atomic_f16_local(
7266; 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]]
7568; CHECK-NEXT: ret void
7669;
7770 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) {
8174define void @store_atomic_f16_flat (half %val , ptr %ptr ) {
8275; CHECK-LABEL: define void @store_atomic_f16_flat(
8376; 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]]
8678; CHECK-NEXT: ret void
8779;
8880 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) {
9284define void @store_atomic_bf16_global_system (bfloat %val , ptr addrspace (1 ) %ptr ) {
9385; CHECK-LABEL: define void @store_atomic_bf16_global_system(
9486; 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]]
9788; CHECK-NEXT: ret void
9889;
9990 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)
10394define void @store_atomic_bf16_global_agent (bfloat %val , ptr addrspace (1 ) %ptr ) {
10495; CHECK-LABEL: define void @store_atomic_bf16_global_agent(
10596; 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]]
10898; CHECK-NEXT: ret void
10999;
110100 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)
114104define void @store_atomic_bf16_local (bfloat %val , ptr addrspace (3 ) %ptr ) {
115105; CHECK-LABEL: define void @store_atomic_bf16_local(
116106; 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]]
119108; CHECK-NEXT: ret void
120109;
121110 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) {
125114define void @store_atomic_bf16_flat (bfloat %val , ptr %ptr ) {
126115; CHECK-LABEL: define void @store_atomic_bf16_flat(
127116; 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]]
130118; CHECK-NEXT: ret void
131119;
132120 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) {
135123define void @store_atomic_f64_global_system (double %val , ptr addrspace (1 ) %ptr ) {
136124; CHECK-LABEL: define void @store_atomic_f64_global_system(
137125; 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]]
140127; CHECK-NEXT: ret void
141128;
142129 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)
146133define void @store_atomic_f64_global_agent (double %val , ptr addrspace (1 ) %ptr ) {
147134; CHECK-LABEL: define void @store_atomic_f64_global_agent(
148135; 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]]
151137; CHECK-NEXT: ret void
152138;
153139 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) {
157143define void @store_atomic_f64_local (double %val , ptr addrspace (3 ) %ptr ) {
158144; CHECK-LABEL: define void @store_atomic_f64_local(
159145; 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]]
162147; CHECK-NEXT: ret void
163148;
164149 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) {
168153define void @store_atomic_f64_flat (double %val , ptr %ptr ) {
169154; CHECK-LABEL: define void @store_atomic_f64_flat(
170155; 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]]
173157; CHECK-NEXT: ret void
174158;
175159 store atomic double %val , ptr %ptr seq_cst , align 8 , !some.unknown.md !0
176160 ret void
177161}
178162
179163!0 = !{}
164+ ;.
165+ ; CHECK: [[META0]] = !{}
166+ ;.
0 commit comments