@@ -196,8 +196,8 @@ define i32 @atomicrmw_xchg_private_i32(i32 addrspace(5)* %ptr) {
196
196
define i32 @atomicrmw_add_private_i32 (i32 addrspace (5 )* %ptr ) {
197
197
; IR-LABEL: @atomicrmw_add_private_i32(
198
198
; IR-NEXT: [[TMP1:%.*]] = load i32, i32 addrspace(5)* [[PTR:%.*]], align 4
199
- ; IR-NEXT: [[TMP2 :%.*]] = add i32 [[TMP1]], 4
200
- ; IR-NEXT: store i32 [[TMP2 ]], i32 addrspace(5)* [[PTR]], align 4
199
+ ; IR-NEXT: [[NEW :%.*]] = add i32 [[TMP1]], 4
200
+ ; IR-NEXT: store i32 [[NEW ]], i32 addrspace(5)* [[PTR]], align 4
201
201
; IR-NEXT: ret i32 [[TMP1]]
202
202
;
203
203
; GCN-LABEL: atomicrmw_add_private_i32:
@@ -217,8 +217,8 @@ define i32 @atomicrmw_add_private_i32(i32 addrspace(5)* %ptr) {
217
217
define i32 @atomicrmw_sub_private_i32 (i32 addrspace (5 )* %ptr ) {
218
218
; IR-LABEL: @atomicrmw_sub_private_i32(
219
219
; IR-NEXT: [[TMP1:%.*]] = load i32, i32 addrspace(5)* [[PTR:%.*]], align 4
220
- ; IR-NEXT: [[TMP2 :%.*]] = sub i32 [[TMP1]], 4
221
- ; IR-NEXT: store i32 [[TMP2 ]], i32 addrspace(5)* [[PTR]], align 4
220
+ ; IR-NEXT: [[NEW :%.*]] = sub i32 [[TMP1]], 4
221
+ ; IR-NEXT: store i32 [[NEW ]], i32 addrspace(5)* [[PTR]], align 4
222
222
; IR-NEXT: ret i32 [[TMP1]]
223
223
;
224
224
; GCN-LABEL: atomicrmw_sub_private_i32:
@@ -238,8 +238,8 @@ define i32 @atomicrmw_sub_private_i32(i32 addrspace(5)* %ptr) {
238
238
define i32 @atomicrmw_and_private_i32 (i32 addrspace (5 )* %ptr ) {
239
239
; IR-LABEL: @atomicrmw_and_private_i32(
240
240
; IR-NEXT: [[TMP1:%.*]] = load i32, i32 addrspace(5)* [[PTR:%.*]], align 4
241
- ; IR-NEXT: [[TMP2 :%.*]] = and i32 [[TMP1]], 4
242
- ; IR-NEXT: store i32 [[TMP2 ]], i32 addrspace(5)* [[PTR]], align 4
241
+ ; IR-NEXT: [[NEW :%.*]] = and i32 [[TMP1]], 4
242
+ ; IR-NEXT: store i32 [[NEW ]], i32 addrspace(5)* [[PTR]], align 4
243
243
; IR-NEXT: ret i32 [[TMP1]]
244
244
;
245
245
; GCN-LABEL: atomicrmw_and_private_i32:
@@ -260,8 +260,8 @@ define i32 @atomicrmw_nand_private_i32(i32 addrspace(5)* %ptr) {
260
260
; IR-LABEL: @atomicrmw_nand_private_i32(
261
261
; IR-NEXT: [[TMP1:%.*]] = load i32, i32 addrspace(5)* [[PTR:%.*]], align 4
262
262
; IR-NEXT: [[TMP2:%.*]] = and i32 [[TMP1]], 4
263
- ; IR-NEXT: [[TMP3 :%.*]] = xor i32 [[TMP2]], -1
264
- ; IR-NEXT: store i32 [[TMP3 ]], i32 addrspace(5)* [[PTR]], align 4
263
+ ; IR-NEXT: [[NEW :%.*]] = xor i32 [[TMP2]], -1
264
+ ; IR-NEXT: store i32 [[NEW ]], i32 addrspace(5)* [[PTR]], align 4
265
265
; IR-NEXT: ret i32 [[TMP1]]
266
266
;
267
267
; GCN-LABEL: atomicrmw_nand_private_i32:
@@ -282,8 +282,8 @@ define i32 @atomicrmw_nand_private_i32(i32 addrspace(5)* %ptr) {
282
282
define i32 @atomicrmw_or_private_i32 (i32 addrspace (5 )* %ptr ) {
283
283
; IR-LABEL: @atomicrmw_or_private_i32(
284
284
; IR-NEXT: [[TMP1:%.*]] = load i32, i32 addrspace(5)* [[PTR:%.*]], align 4
285
- ; IR-NEXT: [[TMP2 :%.*]] = or i32 [[TMP1]], 4
286
- ; IR-NEXT: store i32 [[TMP2 ]], i32 addrspace(5)* [[PTR]], align 4
285
+ ; IR-NEXT: [[NEW :%.*]] = or i32 [[TMP1]], 4
286
+ ; IR-NEXT: store i32 [[NEW ]], i32 addrspace(5)* [[PTR]], align 4
287
287
; IR-NEXT: ret i32 [[TMP1]]
288
288
;
289
289
; GCN-LABEL: atomicrmw_or_private_i32:
@@ -303,8 +303,8 @@ define i32 @atomicrmw_or_private_i32(i32 addrspace(5)* %ptr) {
303
303
define i32 @atomicrmw_xor_private_i32 (i32 addrspace (5 )* %ptr ) {
304
304
; IR-LABEL: @atomicrmw_xor_private_i32(
305
305
; IR-NEXT: [[TMP1:%.*]] = load i32, i32 addrspace(5)* [[PTR:%.*]], align 4
306
- ; IR-NEXT: [[TMP2 :%.*]] = xor i32 [[TMP1]], 4
307
- ; IR-NEXT: store i32 [[TMP2 ]], i32 addrspace(5)* [[PTR]], align 4
306
+ ; IR-NEXT: [[NEW :%.*]] = xor i32 [[TMP1]], 4
307
+ ; IR-NEXT: store i32 [[NEW ]], i32 addrspace(5)* [[PTR]], align 4
308
308
; IR-NEXT: ret i32 [[TMP1]]
309
309
;
310
310
; GCN-LABEL: atomicrmw_xor_private_i32:
@@ -324,9 +324,9 @@ define i32 @atomicrmw_xor_private_i32(i32 addrspace(5)* %ptr) {
324
324
define i32 @atomicrmw_max_private_i32 (i32 addrspace (5 )* %ptr ) {
325
325
; IR-LABEL: @atomicrmw_max_private_i32(
326
326
; IR-NEXT: [[TMP1:%.*]] = load i32, i32 addrspace(5)* [[PTR:%.*]], align 4
327
- ; IR-NEXT: [[TMP2:%.*]] = icmp slt i32 [[TMP1]], 4
328
- ; IR-NEXT: [[TMP3 :%.*]] = select i1 [[TMP2]], i32 4, i32 [[TMP1]]
329
- ; IR-NEXT: store i32 [[TMP3 ]], i32 addrspace(5)* [[PTR]], align 4
327
+ ; IR-NEXT: [[TMP2:%.*]] = icmp sgt i32 [[TMP1]], 4
328
+ ; IR-NEXT: [[NEW :%.*]] = select i1 [[TMP2]], i32 [[TMP1]], i32 4
329
+ ; IR-NEXT: store i32 [[NEW ]], i32 addrspace(5)* [[PTR]], align 4
330
330
; IR-NEXT: ret i32 [[TMP1]]
331
331
;
332
332
; GCN-LABEL: atomicrmw_max_private_i32:
@@ -346,9 +346,9 @@ define i32 @atomicrmw_max_private_i32(i32 addrspace(5)* %ptr) {
346
346
define i32 @atomicrmw_min_private_i32 (i32 addrspace (5 )* %ptr ) {
347
347
; IR-LABEL: @atomicrmw_min_private_i32(
348
348
; IR-NEXT: [[TMP1:%.*]] = load i32, i32 addrspace(5)* [[PTR:%.*]], align 4
349
- ; IR-NEXT: [[TMP2:%.*]] = icmp slt i32 [[TMP1]], 4
350
- ; IR-NEXT: [[TMP3 :%.*]] = select i1 [[TMP2]], i32 [[TMP1]], i32 4
351
- ; IR-NEXT: store i32 [[TMP3 ]], i32 addrspace(5)* [[PTR]], align 4
349
+ ; IR-NEXT: [[TMP2:%.*]] = icmp sle i32 [[TMP1]], 4
350
+ ; IR-NEXT: [[NEW :%.*]] = select i1 [[TMP2]], i32 [[TMP1]], i32 4
351
+ ; IR-NEXT: store i32 [[NEW ]], i32 addrspace(5)* [[PTR]], align 4
352
352
; IR-NEXT: ret i32 [[TMP1]]
353
353
;
354
354
; GCN-LABEL: atomicrmw_min_private_i32:
@@ -368,9 +368,9 @@ define i32 @atomicrmw_min_private_i32(i32 addrspace(5)* %ptr) {
368
368
define i32 @atomicrmw_umax_private_i32 (i32 addrspace (5 )* %ptr ) {
369
369
; IR-LABEL: @atomicrmw_umax_private_i32(
370
370
; IR-NEXT: [[TMP1:%.*]] = load i32, i32 addrspace(5)* [[PTR:%.*]], align 4
371
- ; IR-NEXT: [[TMP2:%.*]] = icmp ult i32 [[TMP1]], 4
372
- ; IR-NEXT: [[TMP3 :%.*]] = select i1 [[TMP2]], i32 4, i32 [[TMP1]]
373
- ; IR-NEXT: store i32 [[TMP3 ]], i32 addrspace(5)* [[PTR]], align 4
371
+ ; IR-NEXT: [[TMP2:%.*]] = icmp ugt i32 [[TMP1]], 4
372
+ ; IR-NEXT: [[NEW :%.*]] = select i1 [[TMP2]], i32 [[TMP1]], i32 4
373
+ ; IR-NEXT: store i32 [[NEW ]], i32 addrspace(5)* [[PTR]], align 4
374
374
; IR-NEXT: ret i32 [[TMP1]]
375
375
;
376
376
; GCN-LABEL: atomicrmw_umax_private_i32:
@@ -390,9 +390,9 @@ define i32 @atomicrmw_umax_private_i32(i32 addrspace(5)* %ptr) {
390
390
define i32 @atomicrmw_umin_private_i32 (i32 addrspace (5 )* %ptr ) {
391
391
; IR-LABEL: @atomicrmw_umin_private_i32(
392
392
; IR-NEXT: [[TMP1:%.*]] = load i32, i32 addrspace(5)* [[PTR:%.*]], align 4
393
- ; IR-NEXT: [[TMP2:%.*]] = icmp ult i32 [[TMP1]], 4
394
- ; IR-NEXT: [[TMP3 :%.*]] = select i1 [[TMP2]], i32 [[TMP1]], i32 4
395
- ; IR-NEXT: store i32 [[TMP3 ]], i32 addrspace(5)* [[PTR]], align 4
393
+ ; IR-NEXT: [[TMP2:%.*]] = icmp ule i32 [[TMP1]], 4
394
+ ; IR-NEXT: [[NEW :%.*]] = select i1 [[TMP2]], i32 [[TMP1]], i32 4
395
+ ; IR-NEXT: store i32 [[NEW ]], i32 addrspace(5)* [[PTR]], align 4
396
396
; IR-NEXT: ret i32 [[TMP1]]
397
397
;
398
398
; GCN-LABEL: atomicrmw_umin_private_i32:
@@ -412,8 +412,8 @@ define i32 @atomicrmw_umin_private_i32(i32 addrspace(5)* %ptr) {
412
412
define float @atomicrmw_fadd_private_i32 (float addrspace (5 )* %ptr ) {
413
413
; IR-LABEL: @atomicrmw_fadd_private_i32(
414
414
; IR-NEXT: [[TMP1:%.*]] = load float, float addrspace(5)* [[PTR:%.*]], align 4
415
- ; IR-NEXT: [[TMP2 :%.*]] = fadd float [[TMP1]], 2.000000e+00
416
- ; IR-NEXT: store float [[TMP2 ]], float addrspace(5)* [[PTR]], align 4
415
+ ; IR-NEXT: [[NEW :%.*]] = fadd float [[TMP1]], 2.000000e+00
416
+ ; IR-NEXT: store float [[NEW ]], float addrspace(5)* [[PTR]], align 4
417
417
; IR-NEXT: ret float [[TMP1]]
418
418
;
419
419
; GCN-LABEL: atomicrmw_fadd_private_i32:
@@ -433,8 +433,8 @@ define float @atomicrmw_fadd_private_i32(float addrspace(5)* %ptr) {
433
433
define float @atomicrmw_fsub_private_i32 (float addrspace (5 )* %ptr , float %val ) {
434
434
; IR-LABEL: @atomicrmw_fsub_private_i32(
435
435
; IR-NEXT: [[TMP1:%.*]] = load float, float addrspace(5)* [[PTR:%.*]], align 4
436
- ; IR-NEXT: [[TMP2 :%.*]] = fsub float [[TMP1]], [[VAL:%.*]]
437
- ; IR-NEXT: store float [[TMP2 ]], float addrspace(5)* [[PTR]], align 4
436
+ ; IR-NEXT: [[NEW :%.*]] = fsub float [[TMP1]], [[VAL:%.*]]
437
+ ; IR-NEXT: store float [[NEW ]], float addrspace(5)* [[PTR]], align 4
438
438
; IR-NEXT: ret float [[TMP1]]
439
439
;
440
440
; GCN-LABEL: atomicrmw_fsub_private_i32:
@@ -461,8 +461,8 @@ define amdgpu_kernel void @alloca_promote_atomicrmw_private_lds_promote(i32 addr
461
461
; IR-NEXT: store i32 1, i32 addrspace(5)* [[GEP2]], align 4
462
462
; IR-NEXT: [[GEP3:%.*]] = getelementptr inbounds [2 x i32], [2 x i32] addrspace(5)* [[TMP]], i32 0, i32 [[IN:%.*]]
463
463
; IR-NEXT: [[TMP0:%.*]] = load i32, i32 addrspace(5)* [[GEP3]], align 4
464
- ; IR-NEXT: [[TMP1 :%.*]] = add i32 [[TMP0]], 7
465
- ; IR-NEXT: store i32 [[TMP1 ]], i32 addrspace(5)* [[GEP3]], align 4
464
+ ; IR-NEXT: [[NEW :%.*]] = add i32 [[TMP0]], 7
465
+ ; IR-NEXT: store i32 [[NEW ]], i32 addrspace(5)* [[GEP3]], align 4
466
466
; IR-NEXT: store i32 [[TMP0]], i32 addrspace(1)* [[OUT:%.*]], align 4
467
467
; IR-NEXT: ret void
468
468
;
0 commit comments