@@ -18639,17 +18639,17 @@ define bfloat @v_fabs_bf16(bfloat %a) {
1863918639; GCN: ; %bb.0:
1864018640; GCN-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1864118641; GCN-NEXT: v_mul_f32_e32 v0, 1.0, v0
18642- ; GCN-NEXT: v_and_b32_e32 v0, 0xffff0000 , v0
18643- ; GCN-NEXT: v_and_b32_e32 v0, 0x7fffffff , v0
18642+ ; GCN-NEXT: v_and_b32_e32 v0, 0x7fff0000 , v0
18643+ ; GCN-NEXT: v_mul_f32_e32 v0, 1.0 , v0
1864418644; GCN-NEXT: v_and_b32_e32 v0, 0xffff0000, v0
1864518645; GCN-NEXT: s_setpc_b64 s[30:31]
1864618646;
1864718647; GFX7-LABEL: v_fabs_bf16:
1864818648; GFX7: ; %bb.0:
1864918649; GFX7-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1865018650; GFX7-NEXT: v_mul_f32_e32 v0, 1.0, v0
18651- ; GFX7-NEXT: v_and_b32_e32 v0, 0xffff0000 , v0
18652- ; GFX7-NEXT: v_and_b32_e32 v0, 0x7fffffff , v0
18651+ ; GFX7-NEXT: v_and_b32_e32 v0, 0x7fff0000 , v0
18652+ ; GFX7-NEXT: v_mul_f32_e32 v0, 1.0 , v0
1865318653; GFX7-NEXT: v_and_b32_e32 v0, 0xffff0000, v0
1865418654; GFX7-NEXT: s_setpc_b64 s[30:31]
1865518655;
@@ -18832,8 +18832,8 @@ define bfloat @v_fneg_fabs_bf16(bfloat %a) {
1883218832; GCN: ; %bb.0:
1883318833; GCN-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1883418834; GCN-NEXT: v_mul_f32_e32 v0, 1.0, v0
18835- ; GCN-NEXT: v_and_b32_e32 v0, 0xffff0000 , v0
18836- ; GCN-NEXT: v_and_b32_e32 v0, 0x7fffffff , v0
18835+ ; GCN-NEXT: v_and_b32_e32 v0, 0x7fff0000 , v0
18836+ ; GCN-NEXT: v_mul_f32_e32 v0, 1.0 , v0
1883718837; GCN-NEXT: v_and_b32_e32 v0, 0xffff0000, v0
1883818838; GCN-NEXT: v_xor_b32_e32 v0, 0x80000000, v0
1883918839; GCN-NEXT: v_and_b32_e32 v0, 0xffff0000, v0
@@ -18843,8 +18843,8 @@ define bfloat @v_fneg_fabs_bf16(bfloat %a) {
1884318843; GFX7: ; %bb.0:
1884418844; GFX7-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1884518845; GFX7-NEXT: v_mul_f32_e32 v0, 1.0, v0
18846- ; GFX7-NEXT: v_and_b32_e32 v0, 0xffff0000 , v0
18847- ; GFX7-NEXT: v_and_b32_e32 v0, 0x7fffffff , v0
18846+ ; GFX7-NEXT: v_and_b32_e32 v0, 0x7fff0000 , v0
18847+ ; GFX7-NEXT: v_mul_f32_e32 v0, 1.0 , v0
1884818848; GFX7-NEXT: v_and_b32_e32 v0, 0xffff0000, v0
1884918849; GFX7-NEXT: v_xor_b32_e32 v0, 0x80000000, v0
1885018850; GFX7-NEXT: v_and_b32_e32 v0, 0xffff0000, v0
@@ -18889,23 +18889,23 @@ define amdgpu_ps i32 @s_fneg_fabs_bf16(bfloat inreg %a) {
1888918889; GCN-LABEL: s_fneg_fabs_bf16:
1889018890; GCN: ; %bb.0:
1889118891; GCN-NEXT: v_mul_f32_e64 v0, 1.0, s0
18892+ ; GCN-NEXT: v_and_b32_e32 v0, 0x7fff0000, v0
18893+ ; GCN-NEXT: v_mul_f32_e32 v0, 1.0, v0
18894+ ; GCN-NEXT: v_and_b32_e32 v0, 0xffff0000, v0
18895+ ; GCN-NEXT: v_xor_b32_e32 v0, 0x80000000, v0
18896+ ; GCN-NEXT: v_lshrrev_b32_e32 v0, 16, v0
1889218897; GCN-NEXT: v_readfirstlane_b32 s0, v0
18893- ; GCN-NEXT: s_and_b32 s0, s0, 0xffff0000
18894- ; GCN-NEXT: s_bitset0_b32 s0, 31
18895- ; GCN-NEXT: s_and_b32 s0, s0, 0xffff0000
18896- ; GCN-NEXT: s_xor_b32 s0, s0, 0x80000000
18897- ; GCN-NEXT: s_lshr_b32 s0, s0, 16
1889818898; GCN-NEXT: ; return to shader part epilog
1889918899;
1890018900; GFX7-LABEL: s_fneg_fabs_bf16:
1890118901; GFX7: ; %bb.0:
1890218902; GFX7-NEXT: v_mul_f32_e64 v0, 1.0, s0
18903+ ; GFX7-NEXT: v_and_b32_e32 v0, 0x7fff0000, v0
18904+ ; GFX7-NEXT: v_mul_f32_e32 v0, 1.0, v0
18905+ ; GFX7-NEXT: v_and_b32_e32 v0, 0xffff0000, v0
18906+ ; GFX7-NEXT: v_xor_b32_e32 v0, 0x80000000, v0
18907+ ; GFX7-NEXT: v_lshrrev_b32_e32 v0, 16, v0
1890318908; GFX7-NEXT: v_readfirstlane_b32 s0, v0
18904- ; GFX7-NEXT: s_and_b32 s0, s0, 0xffff0000
18905- ; GFX7-NEXT: s_bitset0_b32 s0, 31
18906- ; GFX7-NEXT: s_and_b32 s0, s0, 0xffff0000
18907- ; GFX7-NEXT: s_xor_b32 s0, s0, 0x80000000
18908- ; GFX7-NEXT: s_lshr_b32 s0, s0, 16
1890918909; GFX7-NEXT: ; return to shader part epilog
1891018910;
1891118911; GFX8-LABEL: s_fneg_fabs_bf16:
0 commit comments