@@ -737,25 +737,15 @@ define i64 @v_bswap_i48(i64 %src) {
737
737
; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v2
738
738
; VI-NEXT: s_setpc_b64 s[30:31]
739
739
;
740
- ; GFX11-REAL16-LABEL: v_bswap_i48:
741
- ; GFX11-REAL16: ; %bb.0:
742
- ; GFX11-REAL16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
743
- ; GFX11-REAL16-NEXT: v_perm_b32 v2, 0, v0, 0x10203
744
- ; GFX11-REAL16-NEXT: v_perm_b32 v1, 0, v1, 0x10203
745
- ; GFX11-REAL16-NEXT: s_delay_alu instid0(VALU_DEP_1)
746
- ; GFX11-REAL16-NEXT: v_lshrrev_b64 v[0:1], 16, v[1:2]
747
- ; GFX11-REAL16-NEXT: v_lshrrev_b32_e32 v1, 16, v2
748
- ; GFX11-REAL16-NEXT: s_setpc_b64 s[30:31]
749
- ;
750
- ; GFX11-FAKE16-LABEL: v_bswap_i48:
751
- ; GFX11-FAKE16: ; %bb.0:
752
- ; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
753
- ; GFX11-FAKE16-NEXT: v_perm_b32 v2, 0, v0, 0x10203
754
- ; GFX11-FAKE16-NEXT: v_perm_b32 v0, 0, v1, 0x10203
755
- ; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
756
- ; GFX11-FAKE16-NEXT: v_lshrrev_b32_e32 v1, 16, v2
757
- ; GFX11-FAKE16-NEXT: v_alignbit_b32 v0, v2, v0, 16
758
- ; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31]
740
+ ; GFX11-LABEL: v_bswap_i48:
741
+ ; GFX11: ; %bb.0:
742
+ ; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
743
+ ; GFX11-NEXT: v_perm_b32 v2, 0, v0, 0x10203
744
+ ; GFX11-NEXT: v_perm_b32 v0, 0, v1, 0x10203
745
+ ; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
746
+ ; GFX11-NEXT: v_lshrrev_b32_e32 v1, 16, v2
747
+ ; GFX11-NEXT: v_alignbit_b32 v0, v2, v0, 16
748
+ ; GFX11-NEXT: s_setpc_b64 s[30:31]
759
749
%trunc = trunc i64 %src to i48
760
750
%bswap = call i48 @llvm.bswap.i48 (i48 %trunc )
761
751
%zext = zext i48 %bswap to i64
0 commit comments