@@ -737,25 +737,15 @@ define i64 @v_bswap_i48(i64 %src) {
737737; VI-NEXT: v_lshrrev_b32_e32 v1, 16, v2
738738; VI-NEXT: s_setpc_b64 s[30:31]
739739;
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]
759749 %trunc = trunc i64 %src to i48
760750 %bswap = call i48 @llvm.bswap.i48 (i48 %trunc )
761751 %zext = zext i48 %bswap to i64
0 commit comments