Skip to content

Commit 5d63faf

Browse files
committed
[AMDGPU] Auto generated check lines for two tests (llvm#1126)
Note that this is not an NFC change because the test case `llvm/test/CodeGen/AMDGPU/amdgpu-spill-cfi-saved-regs.ll` has been updated due to the recent SGPR layout change. The 32 CSR SGPRs in `callee_need_to_spill_fp_exec_to_memory` have been adjusted to reflect this update.
1 parent 6f7b7bc commit 5d63faf

File tree

3 files changed

+5928
-732
lines changed

3 files changed

+5928
-732
lines changed

llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll

Lines changed: 27 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -82,26 +82,25 @@ define float @test_pow_fast_f32__integral_y(float %x, i32 %y.i) {
8282
; CHECK-NEXT: v_cvt_f32_i32_e32 v1, v1
8383
; CHECK-NEXT: s_mov_b32 s4, 0x800000
8484
; CHECK-NEXT: v_cmp_lt_f32_e64 vcc, |v0|, s4
85-
; CHECK-NEXT: v_mov_b32_e32 v3, 0x4f800000
85+
; CHECK-NEXT: v_cndmask_b32_e64 v3, 0, 32, vcc
8686
; CHECK-NEXT: v_cvt_i32_f32_e32 v1, v1
87-
; CHECK-NEXT: v_cndmask_b32_e32 v3, 1.0, v3, vcc
88-
; CHECK-NEXT: v_mul_f32_e64 v3, |v0|, v3
87+
; CHECK-NEXT: v_ldexp_f32 v3, |v0|, v3
8988
; CHECK-NEXT: v_log_f32_e32 v3, v3
90-
; CHECK-NEXT: v_cvt_f32_i32_e32 v4, v1
9189
; CHECK-NEXT: v_mov_b32_e32 v2, 0x42000000
90+
; CHECK-NEXT: v_cvt_f32_i32_e32 v4, v1
9291
; CHECK-NEXT: v_cndmask_b32_e32 v2, 0, v2, vcc
9392
; CHECK-NEXT: v_sub_f32_e32 v2, v3, v2
94-
; CHECK-NEXT: v_mul_f32_e32 v3, v2, v4
9593
; CHECK-NEXT: s_mov_b32 s4, 0xc2fc0000
94+
; CHECK-NEXT: v_mul_f32_e32 v3, v2, v4
9695
; CHECK-NEXT: v_mov_b32_e32 v5, 0x42800000
9796
; CHECK-NEXT: v_cmp_gt_f32_e32 vcc, s4, v3
9897
; CHECK-NEXT: v_cndmask_b32_e32 v3, 0, v5, vcc
9998
; CHECK-NEXT: v_fma_f32 v2, v2, v4, v3
10099
; CHECK-NEXT: v_exp_f32_e32 v2, v2
101-
; CHECK-NEXT: v_mov_b32_e32 v3, 0x1f800000
102-
; CHECK-NEXT: v_cndmask_b32_e32 v3, 1.0, v3, vcc
100+
; CHECK-NEXT: v_not_b32_e32 v3, 63
101+
; CHECK-NEXT: v_cndmask_b32_e32 v3, 0, v3, vcc
103102
; CHECK-NEXT: v_lshlrev_b32_e32 v1, 31, v1
104-
; CHECK-NEXT: v_mul_f32_e32 v2, v2, v3
103+
; CHECK-NEXT: v_ldexp_f32 v2, v2, v3
105104
; CHECK-NEXT: v_and_or_b32 v0, v1, v0, v2
106105
; CHECK-NEXT: s_setpc_b64 s[30:31]
107106
%y = sitofp i32 %y.i to float
@@ -228,9 +227,8 @@ define float @test_powr_fast_f32(float %x, float %y) {
228227
; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
229228
; CHECK-NEXT: s_mov_b32 s4, 0x800000
230229
; CHECK-NEXT: v_cmp_gt_f32_e32 vcc, s4, v0
231-
; CHECK-NEXT: v_mov_b32_e32 v3, 0x4f800000
232-
; CHECK-NEXT: v_cndmask_b32_e32 v3, 1.0, v3, vcc
233-
; CHECK-NEXT: v_mul_f32_e32 v0, v0, v3
230+
; CHECK-NEXT: v_cndmask_b32_e64 v3, 0, 32, vcc
231+
; CHECK-NEXT: v_ldexp_f32 v0, v0, v3
234232
; CHECK-NEXT: v_log_f32_e32 v0, v0
235233
; CHECK-NEXT: v_mov_b32_e32 v2, 0x42000000
236234
; CHECK-NEXT: v_cndmask_b32_e32 v2, 0, v2, vcc
@@ -242,9 +240,9 @@ define float @test_powr_fast_f32(float %x, float %y) {
242240
; CHECK-NEXT: v_cndmask_b32_e32 v2, 0, v3, vcc
243241
; CHECK-NEXT: v_fma_f32 v0, v0, v1, v2
244242
; CHECK-NEXT: v_exp_f32_e32 v0, v0
245-
; CHECK-NEXT: v_mov_b32_e32 v1, 0x1f800000
246-
; CHECK-NEXT: v_cndmask_b32_e32 v1, 1.0, v1, vcc
247-
; CHECK-NEXT: v_mul_f32_e32 v0, v0, v1
243+
; CHECK-NEXT: v_not_b32_e32 v1, 63
244+
; CHECK-NEXT: v_cndmask_b32_e32 v1, 0, v1, vcc
245+
; CHECK-NEXT: v_ldexp_f32 v0, v0, v1
248246
; CHECK-NEXT: s_setpc_b64 s[30:31]
249247
%powr = tail call fast float @_Z4powrff(float %x, float %y)
250248
ret float %powr
@@ -368,9 +366,8 @@ define float @test_pown_fast_f32(float %x, i32 %y) {
368366
; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
369367
; CHECK-NEXT: s_mov_b32 s4, 0x800000
370368
; CHECK-NEXT: v_cmp_lt_f32_e64 vcc, |v0|, s4
371-
; CHECK-NEXT: v_mov_b32_e32 v3, 0x4f800000
372-
; CHECK-NEXT: v_cndmask_b32_e32 v3, 1.0, v3, vcc
373-
; CHECK-NEXT: v_mul_f32_e64 v3, |v0|, v3
369+
; CHECK-NEXT: v_cndmask_b32_e64 v3, 0, 32, vcc
370+
; CHECK-NEXT: v_ldexp_f32 v3, |v0|, v3
374371
; CHECK-NEXT: v_log_f32_e32 v3, v3
375372
; CHECK-NEXT: v_cvt_f32_i32_e32 v4, v1
376373
; CHECK-NEXT: v_mov_b32_e32 v2, 0x42000000
@@ -383,10 +380,10 @@ define float @test_pown_fast_f32(float %x, i32 %y) {
383380
; CHECK-NEXT: v_cndmask_b32_e32 v3, 0, v5, vcc
384381
; CHECK-NEXT: v_fma_f32 v2, v2, v4, v3
385382
; CHECK-NEXT: v_exp_f32_e32 v2, v2
386-
; CHECK-NEXT: v_mov_b32_e32 v3, 0x1f800000
387-
; CHECK-NEXT: v_cndmask_b32_e32 v3, 1.0, v3, vcc
383+
; CHECK-NEXT: v_not_b32_e32 v3, 63
384+
; CHECK-NEXT: v_cndmask_b32_e32 v3, 0, v3, vcc
388385
; CHECK-NEXT: v_lshlrev_b32_e32 v1, 31, v1
389-
; CHECK-NEXT: v_mul_f32_e32 v2, v2, v3
386+
; CHECK-NEXT: v_ldexp_f32 v2, v2, v3
390387
; CHECK-NEXT: v_and_or_b32 v0, v1, v0, v2
391388
; CHECK-NEXT: s_setpc_b64 s[30:31]
392389
%call = tail call fast float @_Z4pownfi(float %x, i32 %y)
@@ -511,9 +508,8 @@ define float @test_pown_fast_f32_known_even(float %x, i32 %y.arg) {
511508
; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
512509
; CHECK-NEXT: s_mov_b32 s4, 0x800000
513510
; CHECK-NEXT: v_cmp_lt_f32_e64 vcc, |v0|, s4
514-
; CHECK-NEXT: v_mov_b32_e32 v3, 0x4f800000
515-
; CHECK-NEXT: v_cndmask_b32_e32 v3, 1.0, v3, vcc
516-
; CHECK-NEXT: v_mul_f32_e64 v0, |v0|, v3
511+
; CHECK-NEXT: v_cndmask_b32_e64 v3, 0, 32, vcc
512+
; CHECK-NEXT: v_ldexp_f32 v0, |v0|, v3
517513
; CHECK-NEXT: v_lshlrev_b32_e32 v1, 1, v1
518514
; CHECK-NEXT: v_log_f32_e32 v0, v0
519515
; CHECK-NEXT: v_cvt_f32_i32_e32 v1, v1
@@ -527,9 +523,9 @@ define float @test_pown_fast_f32_known_even(float %x, i32 %y.arg) {
527523
; CHECK-NEXT: v_cndmask_b32_e32 v2, 0, v3, vcc
528524
; CHECK-NEXT: v_fma_f32 v0, v0, v1, v2
529525
; CHECK-NEXT: v_exp_f32_e32 v0, v0
530-
; CHECK-NEXT: v_mov_b32_e32 v1, 0x1f800000
531-
; CHECK-NEXT: v_cndmask_b32_e32 v1, 1.0, v1, vcc
532-
; CHECK-NEXT: v_mul_f32_e32 v0, v0, v1
526+
; CHECK-NEXT: v_not_b32_e32 v1, 63
527+
; CHECK-NEXT: v_cndmask_b32_e32 v1, 0, v1, vcc
528+
; CHECK-NEXT: v_ldexp_f32 v0, v0, v1
533529
; CHECK-NEXT: s_setpc_b64 s[30:31]
534530
%y = shl i32 %y.arg, 1
535531
%call = tail call fast float @_Z4pownfi(float %x, i32 %y)
@@ -651,9 +647,8 @@ define float @test_pown_fast_f32_known_odd(float %x, i32 %y.arg) {
651647
; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
652648
; CHECK-NEXT: s_mov_b32 s4, 0x800000
653649
; CHECK-NEXT: v_cmp_lt_f32_e64 vcc, |v0|, s4
654-
; CHECK-NEXT: v_mov_b32_e32 v3, 0x4f800000
655-
; CHECK-NEXT: v_cndmask_b32_e32 v3, 1.0, v3, vcc
656-
; CHECK-NEXT: v_mul_f32_e64 v3, |v0|, v3
650+
; CHECK-NEXT: v_cndmask_b32_e64 v3, 0, 32, vcc
651+
; CHECK-NEXT: v_ldexp_f32 v3, |v0|, v3
657652
; CHECK-NEXT: v_or_b32_e32 v1, 1, v1
658653
; CHECK-NEXT: v_log_f32_e32 v3, v3
659654
; CHECK-NEXT: v_cvt_f32_i32_e32 v1, v1
@@ -667,10 +662,10 @@ define float @test_pown_fast_f32_known_odd(float %x, i32 %y.arg) {
667662
; CHECK-NEXT: v_cndmask_b32_e32 v3, 0, v4, vcc
668663
; CHECK-NEXT: v_fma_f32 v1, v2, v1, v3
669664
; CHECK-NEXT: v_exp_f32_e32 v1, v1
670-
; CHECK-NEXT: v_mov_b32_e32 v2, 0x1f800000
671-
; CHECK-NEXT: v_cndmask_b32_e32 v2, 1.0, v2, vcc
665+
; CHECK-NEXT: v_not_b32_e32 v2, 63
666+
; CHECK-NEXT: v_cndmask_b32_e32 v2, 0, v2, vcc
672667
; CHECK-NEXT: s_brev_b32 s4, 1
673-
; CHECK-NEXT: v_mul_f32_e32 v1, v1, v2
668+
; CHECK-NEXT: v_ldexp_f32 v1, v1, v2
674669
; CHECK-NEXT: v_and_or_b32 v0, v0, s4, v1
675670
; CHECK-NEXT: s_setpc_b64 s[30:31]
676671
%y = or i32 %y.arg, 1

0 commit comments

Comments
 (0)