x64: Migrate fcvt_from_sint and fcvt_low_from_sint to ISLE (#4650)
https://github.com/bytecodealliance/wasmtime/pull/4650
This commit is contained in:
@@ -1527,8 +1527,11 @@ pub(crate) fn emit(
|
||||
SseOpcode::Cvtdq2pd => (LegacyPrefixes::_F3, 0x0FE6, 2),
|
||||
SseOpcode::Cvtpd2ps => (LegacyPrefixes::_66, 0x0F5A, 2),
|
||||
SseOpcode::Cvtps2pd => (LegacyPrefixes::None, 0x0F5A, 2),
|
||||
SseOpcode::Cvtdq2ps => (LegacyPrefixes::None, 0x0F5B, 2),
|
||||
SseOpcode::Cvtss2sd => (LegacyPrefixes::_F3, 0x0F5A, 2),
|
||||
SseOpcode::Cvtsd2ss => (LegacyPrefixes::_F2, 0x0F5A, 2),
|
||||
SseOpcode::Cvttpd2dq => (LegacyPrefixes::_66, 0x0FE6, 2),
|
||||
SseOpcode::Cvttps2dq => (LegacyPrefixes::_F3, 0x0F5B, 2),
|
||||
SseOpcode::Movaps => (LegacyPrefixes::None, 0x0F28, 2),
|
||||
SseOpcode::Movapd => (LegacyPrefixes::_66, 0x0F28, 2),
|
||||
SseOpcode::Movdqa => (LegacyPrefixes::_66, 0x0F6F, 2),
|
||||
@@ -1623,9 +1626,6 @@ pub(crate) fn emit(
|
||||
SseOpcode::Andnpd => (LegacyPrefixes::_66, 0x0F55, 2),
|
||||
SseOpcode::Blendvps => (LegacyPrefixes::_66, 0x0F3814, 3),
|
||||
SseOpcode::Blendvpd => (LegacyPrefixes::_66, 0x0F3815, 3),
|
||||
SseOpcode::Cvttpd2dq => (LegacyPrefixes::_66, 0x0FE6, 2),
|
||||
SseOpcode::Cvttps2dq => (LegacyPrefixes::_F3, 0x0F5B, 2),
|
||||
SseOpcode::Cvtdq2ps => (LegacyPrefixes::None, 0x0F5B, 2),
|
||||
SseOpcode::Divps => (LegacyPrefixes::None, 0x0F5E, 2),
|
||||
SseOpcode::Divpd => (LegacyPrefixes::_66, 0x0F5E, 2),
|
||||
SseOpcode::Divss => (LegacyPrefixes::_F3, 0x0F5E, 2),
|
||||
|
||||
@@ -3998,21 +3998,21 @@ fn test_x64_emit() {
|
||||
// ========================================================
|
||||
// XMM_RM_R: Integer Conversion
|
||||
insns.push((
|
||||
Inst::xmm_rm_r(SseOpcode::Cvtdq2ps, RegMem::reg(xmm1), w_xmm8),
|
||||
Inst::xmm_unary_rm_r(SseOpcode::Cvtdq2ps, RegMem::reg(xmm1), w_xmm8),
|
||||
"440F5BC1",
|
||||
"cvtdq2ps %xmm8, %xmm1, %xmm8",
|
||||
"cvtdq2ps %xmm1, %xmm8",
|
||||
));
|
||||
|
||||
insns.push((
|
||||
Inst::xmm_rm_r(SseOpcode::Cvttpd2dq, RegMem::reg(xmm15), w_xmm7),
|
||||
Inst::xmm_unary_rm_r(SseOpcode::Cvttpd2dq, RegMem::reg(xmm15), w_xmm7),
|
||||
"66410FE6FF",
|
||||
"cvttpd2dq %xmm7, %xmm15, %xmm7",
|
||||
"cvttpd2dq %xmm15, %xmm7",
|
||||
));
|
||||
|
||||
insns.push((
|
||||
Inst::xmm_rm_r(SseOpcode::Cvttps2dq, RegMem::reg(xmm9), w_xmm8),
|
||||
Inst::xmm_unary_rm_r(SseOpcode::Cvttps2dq, RegMem::reg(xmm9), w_xmm8),
|
||||
"F3450F5BC1",
|
||||
"cvttps2dq %xmm8, %xmm9, %xmm8",
|
||||
"cvttps2dq %xmm9, %xmm8",
|
||||
));
|
||||
|
||||
// XMM_Mov_R_M: float stores
|
||||
|
||||
Reference in New Issue
Block a user