mirror of
https://github.com/FEX-Emu/FEX.git
synced 2025-02-09 08:32:57 +00:00
Merge pull request #3724 from alyssarosenzweig/ryan-avx-cut
First few commits from Ryan's AVX branch
This commit is contained in:
commit
29f644235d
@ -110,7 +110,7 @@ void Dispatcher::EmitDispatcher() {
|
||||
add(ARMEmitter::Size::i64Bit, StaticRegisters[X86State::REG_RSP], ARMEmitter::Reg::rsp, 0);
|
||||
add(ARMEmitter::Size::i64Bit, ARMEmitter::Reg::rsp, TMP1, 0);
|
||||
|
||||
if (EmitterCTX->HostFeatures.SupportsSVE) {
|
||||
if (EmitterCTX->HostFeatures.SupportsSVE128) {
|
||||
ptrue(ARMEmitter::SubRegSize::i8Bit, PRED_TMP_16B, ARMEmitter::PredicatePattern::SVE_VL16);
|
||||
}
|
||||
|
||||
|
@ -97,6 +97,27 @@ static void ClassifyContextStruct(ContextInfo* ContextClassificationInfo, bool S
|
||||
FEXCore::IR::InvalidClass,
|
||||
});
|
||||
|
||||
// DeferredSignalRefCount
|
||||
ContextClassification->emplace_back(ContextMemberInfo {
|
||||
ContextMemberClassification {
|
||||
offsetof(FEXCore::Core::CPUState, DeferredSignalRefCount),
|
||||
sizeof(FEXCore::Core::CPUState::DeferredSignalRefCount),
|
||||
},
|
||||
LastAccessType::NONE,
|
||||
FEXCore::IR::InvalidClass,
|
||||
});
|
||||
|
||||
for (size_t i = 0; i < FEXCore::Core::CPUState::NUM_XMMS; ++i) {
|
||||
ContextClassification->emplace_back(ContextMemberInfo {
|
||||
ContextMemberClassification {
|
||||
offsetof(FEXCore::Core::CPUState, avx_high[0][0]) + FEXCore::Core::CPUState::XMM_SSE_REG_SIZE * i,
|
||||
FEXCore::Core::CPUState::XMM_SSE_REG_SIZE,
|
||||
},
|
||||
LastAccessType::NONE,
|
||||
FEXCore::IR::InvalidClass,
|
||||
});
|
||||
}
|
||||
|
||||
ContextClassification->emplace_back(ContextMemberInfo {
|
||||
ContextMemberClassification {
|
||||
offsetof(FEXCore::Core::CPUState, rip),
|
||||
@ -117,6 +138,48 @@ static void ClassifyContextStruct(ContextInfo* ContextClassificationInfo, bool S
|
||||
});
|
||||
}
|
||||
|
||||
ContextClassification->emplace_back(ContextMemberInfo {
|
||||
ContextMemberClassification {
|
||||
offsetof(FEXCore::Core::CPUState, _pad),
|
||||
sizeof(FEXCore::Core::CPUState::_pad),
|
||||
},
|
||||
LastAccessType::INVALID,
|
||||
FEXCore::IR::InvalidClass,
|
||||
});
|
||||
|
||||
if (SupportsSVE256) {
|
||||
for (size_t i = 0; i < FEXCore::Core::CPUState::NUM_XMMS; ++i) {
|
||||
ContextClassification->emplace_back(ContextMemberInfo {
|
||||
ContextMemberClassification {
|
||||
offsetof(FEXCore::Core::CPUState, xmm.avx.data[0][0]) + FEXCore::Core::CPUState::XMM_AVX_REG_SIZE * i,
|
||||
FEXCore::Core::CPUState::XMM_AVX_REG_SIZE,
|
||||
},
|
||||
LastAccessType::NONE,
|
||||
FEXCore::IR::InvalidClass,
|
||||
});
|
||||
}
|
||||
} else {
|
||||
for (size_t i = 0; i < FEXCore::Core::CPUState::NUM_XMMS; ++i) {
|
||||
ContextClassification->emplace_back(ContextMemberInfo {
|
||||
ContextMemberClassification {
|
||||
offsetof(FEXCore::Core::CPUState, xmm.sse.data[0][0]) + FEXCore::Core::CPUState::XMM_SSE_REG_SIZE * i,
|
||||
FEXCore::Core::CPUState::XMM_SSE_REG_SIZE,
|
||||
},
|
||||
LastAccessType::NONE,
|
||||
FEXCore::IR::InvalidClass,
|
||||
});
|
||||
}
|
||||
|
||||
ContextClassification->emplace_back(ContextMemberInfo {
|
||||
ContextMemberClassification {
|
||||
offsetof(FEXCore::Core::CPUState, xmm.sse.pad[0][0]),
|
||||
static_cast<uint16_t>(FEXCore::Core::CPUState::XMM_SSE_REG_SIZE * FEXCore::Core::CPUState::NUM_XMMS),
|
||||
},
|
||||
LastAccessType::INVALID,
|
||||
FEXCore::IR::InvalidClass,
|
||||
});
|
||||
}
|
||||
|
||||
ContextClassification->emplace_back(ContextMemberInfo {
|
||||
ContextMemberClassification {
|
||||
offsetof(FEXCore::Core::CPUState, es_idx),
|
||||
@ -173,8 +236,8 @@ static void ClassifyContextStruct(ContextInfo* ContextClassificationInfo, bool S
|
||||
|
||||
ContextClassification->emplace_back(ContextMemberInfo {
|
||||
ContextMemberClassification {
|
||||
offsetof(FEXCore::Core::CPUState, _pad),
|
||||
sizeof(FEXCore::Core::CPUState::_pad),
|
||||
offsetof(FEXCore::Core::CPUState, _pad2),
|
||||
sizeof(FEXCore::Core::CPUState::_pad2),
|
||||
},
|
||||
LastAccessType::INVALID,
|
||||
FEXCore::IR::InvalidClass,
|
||||
@ -234,39 +297,6 @@ static void ClassifyContextStruct(ContextInfo* ContextClassificationInfo, bool S
|
||||
FEXCore::IR::InvalidClass,
|
||||
});
|
||||
|
||||
if (SupportsSVE256) {
|
||||
for (size_t i = 0; i < FEXCore::Core::CPUState::NUM_XMMS; ++i) {
|
||||
ContextClassification->emplace_back(ContextMemberInfo {
|
||||
ContextMemberClassification {
|
||||
offsetof(FEXCore::Core::CPUState, xmm.avx.data[0][0]) + FEXCore::Core::CPUState::XMM_AVX_REG_SIZE * i,
|
||||
FEXCore::Core::CPUState::XMM_AVX_REG_SIZE,
|
||||
},
|
||||
LastAccessType::NONE,
|
||||
FEXCore::IR::InvalidClass,
|
||||
});
|
||||
}
|
||||
} else {
|
||||
for (size_t i = 0; i < FEXCore::Core::CPUState::NUM_XMMS; ++i) {
|
||||
ContextClassification->emplace_back(ContextMemberInfo {
|
||||
ContextMemberClassification {
|
||||
offsetof(FEXCore::Core::CPUState, xmm.sse.data[0][0]) + FEXCore::Core::CPUState::XMM_SSE_REG_SIZE * i,
|
||||
FEXCore::Core::CPUState::XMM_SSE_REG_SIZE,
|
||||
},
|
||||
LastAccessType::NONE,
|
||||
FEXCore::IR::InvalidClass,
|
||||
});
|
||||
}
|
||||
|
||||
ContextClassification->emplace_back(ContextMemberInfo {
|
||||
ContextMemberClassification {
|
||||
offsetof(FEXCore::Core::CPUState, xmm.sse.pad[0][0]),
|
||||
static_cast<uint16_t>(FEXCore::Core::CPUState::XMM_SSE_REG_SIZE * FEXCore::Core::CPUState::NUM_XMMS),
|
||||
},
|
||||
LastAccessType::INVALID,
|
||||
FEXCore::IR::InvalidClass,
|
||||
});
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < FEXCore::Core::CPUState::NUM_FLAGS; ++i) {
|
||||
ContextClassification->emplace_back(ContextMemberInfo {
|
||||
ContextMemberClassification {
|
||||
@ -337,21 +367,11 @@ static void ClassifyContextStruct(ContextInfo* ContextClassificationInfo, bool S
|
||||
FEXCore::IR::InvalidClass,
|
||||
});
|
||||
|
||||
// _pad2
|
||||
// _pad3
|
||||
ContextClassification->emplace_back(ContextMemberInfo {
|
||||
ContextMemberClassification {
|
||||
offsetof(FEXCore::Core::CPUState, _pad2),
|
||||
sizeof(FEXCore::Core::CPUState::_pad2),
|
||||
},
|
||||
LastAccessType::NONE,
|
||||
FEXCore::IR::InvalidClass,
|
||||
});
|
||||
|
||||
// DeferredSignalRefCount
|
||||
ContextClassification->emplace_back(ContextMemberInfo {
|
||||
ContextMemberClassification {
|
||||
offsetof(FEXCore::Core::CPUState, DeferredSignalRefCount),
|
||||
sizeof(FEXCore::Core::CPUState::DeferredSignalRefCount),
|
||||
offsetof(FEXCore::Core::CPUState, _pad3),
|
||||
sizeof(FEXCore::Core::CPUState::_pad3),
|
||||
},
|
||||
LastAccessType::NONE,
|
||||
FEXCore::IR::InvalidClass,
|
||||
@ -385,12 +405,21 @@ static void ResetClassificationAccesses(ContextInfo* ContextClassificationInfo,
|
||||
ContextClassification->at(Offset).AccessOffset = 0;
|
||||
ContextClassification->at(Offset).StoreNode = nullptr;
|
||||
};
|
||||
|
||||
size_t Offset = 0;
|
||||
|
||||
///< InlineJITBlockHeader
|
||||
SetAccess(Offset++, LastAccessType::INVALID);
|
||||
|
||||
///< rip
|
||||
// DeferredSignalRefCount
|
||||
SetAccess(Offset++, LastAccessType::INVALID);
|
||||
|
||||
for (size_t i = 0; i < FEXCore::Core::CPUState::NUM_XMMS; ++i) {
|
||||
///< avx_high
|
||||
SetAccess(Offset++, LastAccessType::NONE);
|
||||
}
|
||||
|
||||
// rip
|
||||
SetAccess(Offset++, LastAccessType::NONE);
|
||||
|
||||
///< gregs
|
||||
@ -398,6 +427,19 @@ static void ResetClassificationAccesses(ContextInfo* ContextClassificationInfo,
|
||||
SetAccess(Offset++, LastAccessType::NONE);
|
||||
}
|
||||
|
||||
// pad
|
||||
SetAccess(Offset++, LastAccessType::NONE);
|
||||
|
||||
// xmm
|
||||
for (size_t i = 0; i < FEXCore::Core::CPUState::NUM_XMMS; ++i) {
|
||||
SetAccess(Offset++, LastAccessType::NONE);
|
||||
}
|
||||
|
||||
// xmm_pad
|
||||
if (!SupportsSVE256) {
|
||||
SetAccess(Offset++, LastAccessType::NONE);
|
||||
}
|
||||
|
||||
// Segment indexes
|
||||
SetAccess(Offset++, LastAccessType::NONE);
|
||||
SetAccess(Offset++, LastAccessType::NONE);
|
||||
@ -406,7 +448,7 @@ static void ResetClassificationAccesses(ContextInfo* ContextClassificationInfo,
|
||||
SetAccess(Offset++, LastAccessType::NONE);
|
||||
SetAccess(Offset++, LastAccessType::NONE);
|
||||
|
||||
// Pad
|
||||
// Pad2
|
||||
SetAccess(Offset++, LastAccessType::INVALID);
|
||||
|
||||
// Segments
|
||||
@ -417,16 +459,6 @@ static void ResetClassificationAccesses(ContextInfo* ContextClassificationInfo,
|
||||
SetAccess(Offset++, LastAccessType::NONE);
|
||||
SetAccess(Offset++, LastAccessType::NONE);
|
||||
|
||||
///< xmm
|
||||
for (size_t i = 0; i < FEXCore::Core::CPUState::NUM_XMMS; ++i) {
|
||||
SetAccess(Offset++, LastAccessType::NONE);
|
||||
}
|
||||
|
||||
if (!SupportsSVE256) {
|
||||
///< xmm pad if AVX isn't supported.
|
||||
SetAccess(Offset++, LastAccessType::NONE);
|
||||
}
|
||||
|
||||
///< flags
|
||||
for (size_t i = 0; i < FEXCore::Core::CPUState::NUM_FLAGS; ++i) {
|
||||
SetAccess(Offset++, LastAccessType::NONE);
|
||||
@ -454,10 +486,7 @@ static void ResetClassificationAccesses(ContextInfo* ContextClassificationInfo,
|
||||
///< AbridgedFTW
|
||||
SetAccess(Offset++, LastAccessType::NONE);
|
||||
|
||||
///< _pad2
|
||||
SetAccess(Offset++, LastAccessType::INVALID);
|
||||
|
||||
///< DeferredSignalRefCount
|
||||
// pad3
|
||||
SetAccess(Offset++, LastAccessType::INVALID);
|
||||
}
|
||||
|
||||
|
@ -89,18 +89,27 @@ struct CPUState {
|
||||
};
|
||||
|
||||
uint64_t InlineJITBlockHeader {};
|
||||
// Reference counter for FEX's per-thread deferred signals.
|
||||
// Counts the nesting depth of program sections that cause signals to be deferred.
|
||||
NonAtomicRefCounter<uint64_t> DeferredSignalRefCount;
|
||||
|
||||
// The high 128-bits of AVX registers when not being emulated by SVE256.
|
||||
uint64_t avx_high[16][2];
|
||||
|
||||
uint64_t rip {}; ///< Current core's RIP. May not be entirely accurate while JIT is active
|
||||
uint64_t gregs[16] {};
|
||||
uint64_t _pad {};
|
||||
XMMRegs xmm {};
|
||||
|
||||
// Raw segment register indexes
|
||||
uint16_t es_idx {}, cs_idx {}, ss_idx {}, ds_idx {};
|
||||
uint16_t gs_idx {}, fs_idx {};
|
||||
uint16_t _pad[2];
|
||||
uint16_t _pad2[2];
|
||||
|
||||
// Segment registers holding base addresses
|
||||
uint32_t es_cached {}, cs_cached {}, ss_cached {}, ds_cached {};
|
||||
uint64_t gs_cached {};
|
||||
uint64_t fs_cached {};
|
||||
XMMRegs xmm {};
|
||||
uint8_t flags[48] {};
|
||||
uint64_t pf_raw {};
|
||||
uint64_t af_raw {};
|
||||
@ -113,11 +122,7 @@ struct CPUState {
|
||||
uint16_t FCW {0x37F};
|
||||
uint8_t AbridgedFTW {};
|
||||
|
||||
uint8_t _pad2[5];
|
||||
// Reference counter for FEX's per-thread deferred signals.
|
||||
// Counts the nesting depth of program sections that cause signals to be deferred.
|
||||
NonAtomicRefCounter<uint64_t> DeferredSignalRefCount;
|
||||
|
||||
uint8_t _pad3[5];
|
||||
// PF/AF are statically mapped as-if they were r16/r17 (which do not exist in
|
||||
// x86 otherwise). This allows a straightforward mapping for SRA.
|
||||
static constexpr uint8_t PF_AS_GREG = 16;
|
||||
@ -161,8 +166,10 @@ struct CPUState {
|
||||
};
|
||||
static_assert(std::is_trivially_copyable_v<CPUState>, "Needs to be trivial");
|
||||
static_assert(std::is_standard_layout_v<CPUState>, "This needs to be standard layout");
|
||||
static_assert(offsetof(CPUState, avx_high) % 16 == 0, "avx_high needs to be 128-bit aligned!");
|
||||
static_assert(offsetof(CPUState, xmm) % 32 == 0, "xmm needs to be 256-bit aligned!");
|
||||
static_assert(offsetof(CPUState, mm) % 16 == 0, "mm needs to be 128-bit aligned!");
|
||||
static_assert(offsetof(CPUState, gregs[15]) <= 504, "gregs maximum offset must be <= 504 for ldp/stp to work");
|
||||
static_assert(offsetof(CPUState, DeferredSignalRefCount) % 8 == 0, "Needs to be 8-byte aligned");
|
||||
|
||||
struct InternalThreadState;
|
||||
|
@ -25,7 +25,7 @@
|
||||
"0x0f 0x2a"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"scvtf v16.2s, v2.2s"
|
||||
]
|
||||
}
|
||||
|
@ -26,7 +26,7 @@
|
||||
"0x0f 0x2a"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"scvtf v16.2s, v2.2s"
|
||||
]
|
||||
}
|
||||
|
@ -55,7 +55,7 @@
|
||||
"0x66 0x0f 0x3a 0xdf"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x28, #2176]",
|
||||
"ldr q2, [x28, #2432]",
|
||||
"movi v3.2d, #0x0",
|
||||
"mov v16.16b, v17.16b",
|
||||
"unimplemented (Unimplemented)",
|
||||
@ -68,7 +68,7 @@
|
||||
"0x66 0x0f 0x3a 0xdf"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x28, #2176]",
|
||||
"ldr q2, [x28, #2432]",
|
||||
"movi v3.2d, #0x0",
|
||||
"mov v16.16b, v17.16b",
|
||||
"unimplemented (Unimplemented)",
|
||||
|
@ -21,11 +21,11 @@
|
||||
"0x0f 0x0f 0x0c"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"uzp1 v2.4h, v2.4h, v2.4h",
|
||||
"sxtl v2.4s, v2.4h",
|
||||
"scvtf v2.2s, v2.2s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pi2fd mm0, mm1": {
|
||||
@ -34,9 +34,9 @@
|
||||
"0x0f 0x0f 0x0d"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"scvtf v2.2s, v2.2s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pf2iw mm0, mm1": {
|
||||
@ -45,11 +45,11 @@
|
||||
"0x0f 0x0f 0x1c"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"fcvtzs v2.2s, v2.2s",
|
||||
"uzp1 v2.4h, v2.4h, v2.4h",
|
||||
"sxtl v2.4s, v2.4h",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pf2id mm0, mm1": {
|
||||
@ -58,9 +58,9 @@
|
||||
"0x0f 0x0f 0x1d"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"fcvtzs v2.2s, v2.2s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfrcpv mm0, mm1": {
|
||||
@ -69,10 +69,10 @@
|
||||
"0x0f 0x0f 0x86"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"fmov v0.4s, #0x70 (1.0000)",
|
||||
"fdiv v2.4s, v0.4s, v2.4s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfrsqrtv mm0, mm1": {
|
||||
@ -81,57 +81,57 @@
|
||||
"0x0f 0x0f 0x87"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"fmov v0.4s, #0x70 (1.0000)",
|
||||
"fsqrt v1.4s, v2.4s",
|
||||
"fdiv v2.4s, v0.4s, v1.4s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfnacc mm0, mm1": {
|
||||
"ExpectedInstructionCount": 6,
|
||||
"Comment": "0x0f 0x0f 0x8a",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d3, [x28, #784]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ldr d3, [x28, #1056]",
|
||||
"uzp1 v4.2s, v2.2s, v3.2s",
|
||||
"uzp2 v2.2s, v2.2s, v3.2s",
|
||||
"fsub v2.4s, v4.4s, v2.4s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfpnacc mm0, mm1": {
|
||||
"ExpectedInstructionCount": 7,
|
||||
"Comment": "0x0f 0x0f 0x8e",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d3, [x28, #784]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ldr d3, [x28, #1056]",
|
||||
"dup v4.2s, v2.s[1]",
|
||||
"fsub s2, s2, s4",
|
||||
"faddp v3.4s, v3.4s, v3.4s",
|
||||
"mov v2.s[1], v3.s[0]",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfcmpge mm0, mm1": {
|
||||
"ExpectedInstructionCount": 4,
|
||||
"Comment": "0x0f 0x0f 0x90",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d3, [x28, #768]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"ldr d3, [x28, #1040]",
|
||||
"fcmge v2.4s, v3.4s, v2.4s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfmin mm0, mm1": {
|
||||
"ExpectedInstructionCount": 5,
|
||||
"Comment": "0x0f 0x0f 0x94",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d3, [x28, #768]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"ldr d3, [x28, #1040]",
|
||||
"fcmgt v0.4s, v3.4s, v2.4s",
|
||||
"bif v2.16b, v3.16b, v0.16b",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfrcp mm0, mm1": {
|
||||
@ -140,11 +140,11 @@
|
||||
"0x0f 0x0f 0x96"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"fmov s0, #0x70 (1.0000)",
|
||||
"fdiv s2, s0, s2",
|
||||
"dup v2.2s, v2.s[0]",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfrsqrt mm0, mm1": {
|
||||
@ -153,61 +153,61 @@
|
||||
"0x0f 0x0f 0x97"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"fmov s0, #0x70 (1.0000)",
|
||||
"fsqrt s1, s2",
|
||||
"fdiv s2, s0, s1",
|
||||
"dup v2.2s, v2.s[0]",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfsub mm0, mm1": {
|
||||
"ExpectedInstructionCount": 4,
|
||||
"Comment": "0x0f 0x0f 0x9a",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d3, [x28, #768]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"ldr d3, [x28, #1040]",
|
||||
"fsub v2.4s, v3.4s, v2.4s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfadd mm0, mm1": {
|
||||
"ExpectedInstructionCount": 4,
|
||||
"Comment": "0x0f 0x0f 0x9e",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d3, [x28, #768]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"ldr d3, [x28, #1040]",
|
||||
"fadd v2.4s, v3.4s, v2.4s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfcmpgt mm0, mm1": {
|
||||
"ExpectedInstructionCount": 4,
|
||||
"Comment": "0x0f 0x0f 0xa0",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d3, [x28, #768]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"ldr d3, [x28, #1040]",
|
||||
"fcmgt v2.4s, v3.4s, v2.4s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfmax mm0, mm1": {
|
||||
"ExpectedInstructionCount": 5,
|
||||
"Comment": "0x0f 0x0f 0xa4",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d3, [x28, #768]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"ldr d3, [x28, #1040]",
|
||||
"fcmgt v0.4s, v3.4s, v2.4s",
|
||||
"bit v2.16b, v3.16b, v0.16b",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfrcpit1 mm0, mm1": {
|
||||
"ExpectedInstructionCount": 2,
|
||||
"Comment": "0x0f 0x0f 0xa6",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"str d2, [x28, #768]"
|
||||
"ldr d2, [x28, #1056]",
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfrcpit1 mm0, mm0": {
|
||||
@ -219,8 +219,8 @@
|
||||
"ExpectedInstructionCount": 2,
|
||||
"Comment": "0x0f 0x0f 0xa7",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"str d2, [x28, #768]"
|
||||
"ldr d2, [x28, #1056]",
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfrsqit1 mm0, mm0": {
|
||||
@ -232,38 +232,38 @@
|
||||
"ExpectedInstructionCount": 4,
|
||||
"Comment": "0x0f 0x0f 0xaa",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d3, [x28, #768]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"ldr d3, [x28, #1040]",
|
||||
"fsub v2.4s, v2.4s, v3.4s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfcmpeq mm0, mm1": {
|
||||
"ExpectedInstructionCount": 4,
|
||||
"Comment": "0x0f 0x0f 0xb0",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d3, [x28, #768]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"ldr d3, [x28, #1040]",
|
||||
"fcmeq v2.4s, v3.4s, v2.4s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfmul mm0, mm1": {
|
||||
"ExpectedInstructionCount": 4,
|
||||
"Comment": "0x0f 0x0f 0xb4",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d3, [x28, #768]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"ldr d3, [x28, #1040]",
|
||||
"fmul v2.4s, v3.4s, v2.4s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfrcpit2 mm0, mm1": {
|
||||
"ExpectedInstructionCount": 2,
|
||||
"Comment": "0x0f 0x0f 0xb6",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"str d2, [x28, #768]"
|
||||
"ldr d2, [x28, #1056]",
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfrcpit2 mm0, mm0": {
|
||||
@ -279,32 +279,32 @@
|
||||
"0x0f 0x0f 0xb7"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d3, [x28, #784]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ldr d3, [x28, #1056]",
|
||||
"smull v2.4s, v2.4h, v3.4h",
|
||||
"movi v3.4s, #0x80, lsl #8",
|
||||
"add v2.4s, v2.4s, v3.4s",
|
||||
"shrn v2.4h, v2.4s, #16",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pswapd mm0, mm1": {
|
||||
"ExpectedInstructionCount": 3,
|
||||
"Comment": "0x0f 0x0f 0xbb",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"rev64 v2.2s, v2.2s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pavgusb mm0, mm1": {
|
||||
"ExpectedInstructionCount": 4,
|
||||
"Comment": "0x0f 0x0f 0xbf",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d3, [x28, #768]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"ldr d3, [x28, #1040]",
|
||||
"urhadd v2.16b, v3.16b, v2.16b",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -69,7 +69,7 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, #0x1",
|
||||
"strb w20, [x28, #714]",
|
||||
"strb w20, [x28, #986]",
|
||||
"ldrb w20, [x10]",
|
||||
"strb w20, [x11]",
|
||||
"add x10, x10, #0x1 (1)",
|
||||
@ -88,7 +88,7 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, #0x1",
|
||||
"strb w20, [x28, #714]",
|
||||
"strb w20, [x28, #986]",
|
||||
"ldrh w20, [x10]",
|
||||
"strh w20, [x11]",
|
||||
"add x10, x10, #0x2 (2)",
|
||||
@ -107,7 +107,7 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, #0x1",
|
||||
"strb w20, [x28, #714]",
|
||||
"strb w20, [x28, #986]",
|
||||
"ldr w20, [x10]",
|
||||
"str w20, [x11]",
|
||||
"add x10, x10, #0x4 (4)",
|
||||
@ -126,7 +126,7 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, #0x1",
|
||||
"strb w20, [x28, #714]",
|
||||
"strb w20, [x28, #986]",
|
||||
"ldr x20, [x10]",
|
||||
"str x20, [x11]",
|
||||
"add x10, x10, #0x8 (8)",
|
||||
@ -145,7 +145,7 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, #0xffffffffffffffff",
|
||||
"strb w20, [x28, #714]",
|
||||
"strb w20, [x28, #986]",
|
||||
"ldrb w20, [x10]",
|
||||
"strb w20, [x11]",
|
||||
"sub x10, x10, #0x1 (1)",
|
||||
@ -164,7 +164,7 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, #0xffffffffffffffff",
|
||||
"strb w20, [x28, #714]",
|
||||
"strb w20, [x28, #986]",
|
||||
"ldrh w20, [x10]",
|
||||
"strh w20, [x11]",
|
||||
"sub x10, x10, #0x2 (2)",
|
||||
@ -183,7 +183,7 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, #0xffffffffffffffff",
|
||||
"strb w20, [x28, #714]",
|
||||
"strb w20, [x28, #986]",
|
||||
"ldr w20, [x10]",
|
||||
"str w20, [x11]",
|
||||
"sub x10, x10, #0x4 (4)",
|
||||
@ -202,7 +202,7 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, #0xffffffffffffffff",
|
||||
"strb w20, [x28, #714]",
|
||||
"strb w20, [x28, #986]",
|
||||
"ldr x20, [x10]",
|
||||
"str x20, [x11]",
|
||||
"sub x10, x10, #0x8 (8)",
|
||||
@ -222,7 +222,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, #0x0",
|
||||
"mov w21, #0x1",
|
||||
"strb w21, [x28, #714]",
|
||||
"strb w21, [x28, #986]",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
"mov x2, x10",
|
||||
@ -279,7 +279,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, #0x0",
|
||||
"mov w21, #0x1",
|
||||
"strb w21, [x28, #714]",
|
||||
"strb w21, [x28, #986]",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
"mov x2, x10",
|
||||
@ -336,7 +336,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, #0x0",
|
||||
"mov w21, #0x1",
|
||||
"strb w21, [x28, #714]",
|
||||
"strb w21, [x28, #986]",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
"mov x2, x10",
|
||||
@ -393,7 +393,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, #0x0",
|
||||
"mov w21, #0x1",
|
||||
"strb w21, [x28, #714]",
|
||||
"strb w21, [x28, #986]",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
"mov x2, x10",
|
||||
@ -449,7 +449,7 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, #0xffffffffffffffff",
|
||||
"strb w20, [x28, #714]",
|
||||
"strb w20, [x28, #986]",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
"mov x2, x10",
|
||||
@ -509,7 +509,7 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, #0xffffffffffffffff",
|
||||
"strb w20, [x28, #714]",
|
||||
"strb w20, [x28, #986]",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
"mov x2, x10",
|
||||
@ -569,7 +569,7 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, #0xffffffffffffffff",
|
||||
"strb w20, [x28, #714]",
|
||||
"strb w20, [x28, #986]",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
"mov x2, x10",
|
||||
@ -629,7 +629,7 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, #0xffffffffffffffff",
|
||||
"strb w20, [x28, #714]",
|
||||
"strb w20, [x28, #986]",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
"mov x2, x10",
|
||||
@ -690,7 +690,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, #0x0",
|
||||
"mov w21, #0x1",
|
||||
"strb w21, [x28, #714]",
|
||||
"strb w21, [x28, #986]",
|
||||
"uxtb w21, w4",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
@ -733,7 +733,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, #0x0",
|
||||
"mov w21, #0x1",
|
||||
"strb w21, [x28, #714]",
|
||||
"strb w21, [x28, #986]",
|
||||
"uxth w21, w4",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
@ -776,7 +776,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, #0x0",
|
||||
"mov w21, #0x1",
|
||||
"strb w21, [x28, #714]",
|
||||
"strb w21, [x28, #986]",
|
||||
"mov w21, w4",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
@ -819,7 +819,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, #0x0",
|
||||
"mov w21, #0x1",
|
||||
"strb w21, [x28, #714]",
|
||||
"strb w21, [x28, #986]",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
"cbz x0, #+0x58",
|
||||
@ -860,7 +860,7 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, #0xffffffffffffffff",
|
||||
"strb w20, [x28, #714]",
|
||||
"strb w20, [x28, #986]",
|
||||
"uxtb w20, w4",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
@ -904,7 +904,7 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, #0xffffffffffffffff",
|
||||
"strb w20, [x28, #714]",
|
||||
"strb w20, [x28, #986]",
|
||||
"uxth w20, w4",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
@ -948,7 +948,7 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, #0xffffffffffffffff",
|
||||
"strb w20, [x28, #714]",
|
||||
"strb w20, [x28, #986]",
|
||||
"mov w20, w4",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
@ -992,7 +992,7 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, #0xffffffffffffffff",
|
||||
"strb w20, [x28, #714]",
|
||||
"strb w20, [x28, #986]",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
"cbz x0, #+0x60",
|
||||
|
@ -197,10 +197,10 @@
|
||||
"ldr q19, [x11, #272]",
|
||||
"ldr q24, [x11]",
|
||||
"ldr q23, [x11, #16]",
|
||||
"ldr x0, [x28, #1760]",
|
||||
"ldr x0, [x28, #2016]",
|
||||
"ldr q2, [x0, #2832]",
|
||||
"tbl v16.16b, {v18.16b}, v2.16b",
|
||||
"ldr x0, [x28, #1760]",
|
||||
"ldr x0, [x28, #2016]",
|
||||
"ldr q3, [x0, #432]",
|
||||
"tbl v18.16b, {v19.16b}, v3.16b",
|
||||
"ldr q22, [x11, #32]",
|
||||
@ -284,7 +284,7 @@
|
||||
"mov v4.s[1], w21",
|
||||
"mov v20.16b, v4.16b",
|
||||
"mov v20.s[0], w23",
|
||||
"ldr x0, [x28, #1760]",
|
||||
"ldr x0, [x28, #2016]",
|
||||
"ldr q4, [x0, #224]",
|
||||
"tbl v16.16b, {v16.16b}, v4.16b",
|
||||
"mov w21, v20.s[1]",
|
||||
|
@ -230,11 +230,11 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"mrs x0, nzcv",
|
||||
"str w0, [x28, #728]",
|
||||
"stp x4, x5, [x28, #16]",
|
||||
"stp x6, x7, [x28, #32]",
|
||||
"str x8, [x28, #48]",
|
||||
"stp x16, x17, [x28, #112]",
|
||||
"str w0, [x28, #1000]",
|
||||
"stp x4, x5, [x28, #280]",
|
||||
"stp x6, x7, [x28, #296]",
|
||||
"str x8, [x28, #312]",
|
||||
"stp x16, x17, [x28, #376]",
|
||||
"sub sp, sp, #0x70 (112)",
|
||||
"mov x0, sp",
|
||||
"st1 {v2.2d, v3.2d}, [x0], #32",
|
||||
@ -245,14 +245,14 @@
|
||||
"mov x2, v17.d[0]",
|
||||
"mov x3, v17.d[1]",
|
||||
"mov w4, #0xd",
|
||||
"ldr x5, [x28, #1560]",
|
||||
"ldr x5, [x28, #1816]",
|
||||
"blr x5",
|
||||
"ldr w4, [x28, #728]",
|
||||
"ldr w4, [x28, #1000]",
|
||||
"msr nzcv, x4",
|
||||
"ldp x4, x5, [x28, #16]",
|
||||
"ldp x6, x7, [x28, #32]",
|
||||
"ldr x8, [x28, #48]",
|
||||
"ldp x16, x17, [x28, #112]",
|
||||
"ldp x4, x5, [x28, #280]",
|
||||
"ldp x6, x7, [x28, #296]",
|
||||
"ldr x8, [x28, #312]",
|
||||
"ldp x16, x17, [x28, #376]",
|
||||
"ld1 {v2.2d, v3.2d}, [sp], #32",
|
||||
"ld1 {v4.2d, v5.2d, v6.2d, v7.2d}, [sp], #64",
|
||||
"ldr x30, [sp], #16",
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1664,30 +1664,30 @@
|
||||
"eor w21, w27, w26",
|
||||
"ubfx w21, w21, #4, #1",
|
||||
"orr x20, x20, x21, lsl #4",
|
||||
"ldrb w21, [x28, #712]",
|
||||
"ldrb w21, [x28, #984]",
|
||||
"orr x20, x20, x21, lsl #8",
|
||||
"ldrb w21, [x28, #713]",
|
||||
"ldrb w21, [x28, #985]",
|
||||
"orr x20, x20, x21, lsl #9",
|
||||
"ldrsb x21, [x28, #714]",
|
||||
"ldrsb x21, [x28, #986]",
|
||||
"lsr x21, x21, #63",
|
||||
"orr x20, x20, x21, lsl #10",
|
||||
"cset w21, vs",
|
||||
"orr x20, x20, x21, lsl #11",
|
||||
"ldrb w21, [x28, #716]",
|
||||
"ldrb w21, [x28, #988]",
|
||||
"orr x20, x20, x21, lsl #12",
|
||||
"ldrb w21, [x28, #718]",
|
||||
"ldrb w21, [x28, #990]",
|
||||
"orr x20, x20, x21, lsl #14",
|
||||
"ldrb w21, [x28, #720]",
|
||||
"ldrb w21, [x28, #992]",
|
||||
"orr x20, x20, x21, lsl #16",
|
||||
"ldrb w21, [x28, #721]",
|
||||
"ldrb w21, [x28, #993]",
|
||||
"orr x20, x20, x21, lsl #17",
|
||||
"ldrb w21, [x28, #722]",
|
||||
"ldrb w21, [x28, #994]",
|
||||
"orr x20, x20, x21, lsl #18",
|
||||
"ldrb w21, [x28, #723]",
|
||||
"ldrb w21, [x28, #995]",
|
||||
"orr x20, x20, x21, lsl #19",
|
||||
"ldrb w21, [x28, #724]",
|
||||
"ldrb w21, [x28, #996]",
|
||||
"orr x20, x20, x21, lsl #20",
|
||||
"ldrb w21, [x28, #725]",
|
||||
"ldrb w21, [x28, #997]",
|
||||
"orr x20, x20, x21, lsl #21",
|
||||
"eor w21, w26, w26, lsr #4",
|
||||
"eor w21, w21, w21, lsr #2",
|
||||
@ -1709,30 +1709,30 @@
|
||||
"eor w21, w27, w26",
|
||||
"ubfx w21, w21, #4, #1",
|
||||
"orr x20, x20, x21, lsl #4",
|
||||
"ldrb w21, [x28, #712]",
|
||||
"ldrb w21, [x28, #984]",
|
||||
"orr x20, x20, x21, lsl #8",
|
||||
"ldrb w21, [x28, #713]",
|
||||
"ldrb w21, [x28, #985]",
|
||||
"orr x20, x20, x21, lsl #9",
|
||||
"ldrsb x21, [x28, #714]",
|
||||
"ldrsb x21, [x28, #986]",
|
||||
"lsr x21, x21, #63",
|
||||
"orr x20, x20, x21, lsl #10",
|
||||
"cset w21, vs",
|
||||
"orr x20, x20, x21, lsl #11",
|
||||
"ldrb w21, [x28, #716]",
|
||||
"ldrb w21, [x28, #988]",
|
||||
"orr x20, x20, x21, lsl #12",
|
||||
"ldrb w21, [x28, #718]",
|
||||
"ldrb w21, [x28, #990]",
|
||||
"orr x20, x20, x21, lsl #14",
|
||||
"ldrb w21, [x28, #720]",
|
||||
"ldrb w21, [x28, #992]",
|
||||
"orr x20, x20, x21, lsl #16",
|
||||
"ldrb w21, [x28, #721]",
|
||||
"ldrb w21, [x28, #993]",
|
||||
"orr x20, x20, x21, lsl #17",
|
||||
"ldrb w21, [x28, #722]",
|
||||
"ldrb w21, [x28, #994]",
|
||||
"orr x20, x20, x21, lsl #18",
|
||||
"ldrb w21, [x28, #723]",
|
||||
"ldrb w21, [x28, #995]",
|
||||
"orr x20, x20, x21, lsl #19",
|
||||
"ldrb w21, [x28, #724]",
|
||||
"ldrb w21, [x28, #996]",
|
||||
"orr x20, x20, x21, lsl #20",
|
||||
"ldrb w21, [x28, #725]",
|
||||
"ldrb w21, [x28, #997]",
|
||||
"orr x20, x20, x21, lsl #21",
|
||||
"eor w21, w26, w26, lsr #4",
|
||||
"eor w21, w21, w21, lsr #2",
|
||||
@ -1761,29 +1761,29 @@
|
||||
"rmif x27, #4, #nZcv",
|
||||
"rmif x27, #4, #Nzcv",
|
||||
"ubfx w20, w27, #8, #1",
|
||||
"strb w20, [x28, #712]",
|
||||
"strb w20, [x28, #984]",
|
||||
"ubfx w20, w27, #9, #1",
|
||||
"strb w20, [x28, #713]",
|
||||
"strb w20, [x28, #985]",
|
||||
"ubfx w20, w27, #10, #1",
|
||||
"sub x20, x21, x20, lsl #1",
|
||||
"strb w20, [x28, #714]",
|
||||
"strb w20, [x28, #986]",
|
||||
"rmif x27, #11, #nzcV",
|
||||
"ubfx w20, w27, #12, #1",
|
||||
"strb w20, [x28, #716]",
|
||||
"strb w20, [x28, #988]",
|
||||
"ubfx w20, w27, #14, #1",
|
||||
"strb w20, [x28, #718]",
|
||||
"strb w20, [x28, #990]",
|
||||
"ubfx w20, w27, #16, #1",
|
||||
"strb w20, [x28, #720]",
|
||||
"strb w20, [x28, #992]",
|
||||
"ubfx w20, w27, #17, #1",
|
||||
"strb w20, [x28, #721]",
|
||||
"strb w20, [x28, #993]",
|
||||
"ubfx w20, w27, #18, #1",
|
||||
"strb w20, [x28, #722]",
|
||||
"strb w20, [x28, #994]",
|
||||
"ubfx w20, w27, #19, #1",
|
||||
"strb w20, [x28, #723]",
|
||||
"strb w20, [x28, #995]",
|
||||
"ubfx w20, w27, #20, #1",
|
||||
"strb w20, [x28, #724]",
|
||||
"strb w20, [x28, #996]",
|
||||
"ubfx w20, w27, #21, #1",
|
||||
"strb w20, [x28, #725]"
|
||||
"strb w20, [x28, #997]"
|
||||
]
|
||||
},
|
||||
"sahf": {
|
||||
@ -1829,7 +1829,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrb w20, [x11]",
|
||||
"ldrb w21, [x10]",
|
||||
"ldrsb x22, [x28, #714]",
|
||||
"ldrsb x22, [x28, #986]",
|
||||
"add x11, x11, x22",
|
||||
"add x10, x10, x22",
|
||||
"eor w27, w21, w20",
|
||||
@ -1847,7 +1847,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x11]",
|
||||
"ldrh w21, [x10]",
|
||||
"ldrsb x22, [x28, #714]",
|
||||
"ldrsb x22, [x28, #986]",
|
||||
"lsl x22, x22, #1",
|
||||
"add x11, x11, x22",
|
||||
"add x10, x10, x22",
|
||||
@ -1866,7 +1866,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr w20, [x11]",
|
||||
"ldr w21, [x10]",
|
||||
"ldrsb x22, [x28, #714]",
|
||||
"ldrsb x22, [x28, #986]",
|
||||
"lsl x22, x22, #2",
|
||||
"add x11, x11, x22",
|
||||
"add x10, x10, x22",
|
||||
@ -1883,7 +1883,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x20, [x11]",
|
||||
"ldr x21, [x10]",
|
||||
"ldrsb x22, [x28, #714]",
|
||||
"ldrsb x22, [x28, #986]",
|
||||
"lsl x22, x22, #3",
|
||||
"add x11, x11, x22",
|
||||
"add x10, x10, x22",
|
||||
@ -1897,7 +1897,7 @@
|
||||
"Comment": "0xa6",
|
||||
"ExpectedArm64ASM": [
|
||||
"cbz x5, #+0x6c",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x24",
|
||||
@ -1930,7 +1930,7 @@
|
||||
"Comment": "0xa7",
|
||||
"ExpectedArm64ASM": [
|
||||
"cbz x5, #+0x6c",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x24",
|
||||
@ -1963,7 +1963,7 @@
|
||||
"Comment": "0xa7",
|
||||
"ExpectedArm64ASM": [
|
||||
"cbz x5, #+0x64",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x24",
|
||||
@ -1994,7 +1994,7 @@
|
||||
"Comment": "0xa7",
|
||||
"ExpectedArm64ASM": [
|
||||
"cbz x5, #+0x64",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x24",
|
||||
@ -2025,7 +2025,7 @@
|
||||
"Comment": "0xa6",
|
||||
"ExpectedArm64ASM": [
|
||||
"cbz x5, #+0x6c",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x24",
|
||||
@ -2058,7 +2058,7 @@
|
||||
"Comment": "0xa7",
|
||||
"ExpectedArm64ASM": [
|
||||
"cbz x5, #+0x6c",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x24",
|
||||
@ -2091,7 +2091,7 @@
|
||||
"Comment": "0xa7",
|
||||
"ExpectedArm64ASM": [
|
||||
"cbz x5, #+0x64",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x24",
|
||||
@ -2122,7 +2122,7 @@
|
||||
"Comment": "0xa7",
|
||||
"ExpectedArm64ASM": [
|
||||
"cbz x5, #+0x64",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x24",
|
||||
@ -2213,7 +2213,7 @@
|
||||
"Comment": "0xae",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrb w20, [x11]",
|
||||
"ldrsb x21, [x28, #714]",
|
||||
"ldrsb x21, [x28, #986]",
|
||||
"add x11, x11, x21",
|
||||
"eor w27, w4, w20",
|
||||
"lsl w0, w4, #24",
|
||||
@ -2227,7 +2227,7 @@
|
||||
"Comment": "0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x11]",
|
||||
"ldrsb x21, [x28, #714]",
|
||||
"ldrsb x21, [x28, #986]",
|
||||
"add x11, x11, x21, lsl #1",
|
||||
"eor w27, w4, w20",
|
||||
"lsl w0, w4, #16",
|
||||
@ -2241,7 +2241,7 @@
|
||||
"Comment": "0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr w20, [x11]",
|
||||
"ldrsb x21, [x28, #714]",
|
||||
"ldrsb x21, [x28, #986]",
|
||||
"add x11, x11, x21, lsl #2",
|
||||
"eor w27, w4, w20",
|
||||
"subs w26, w4, w20",
|
||||
@ -2253,7 +2253,7 @@
|
||||
"Comment": "0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x20, [x11]",
|
||||
"ldrsb x21, [x28, #714]",
|
||||
"ldrsb x21, [x28, #986]",
|
||||
"add x11, x11, x21, lsl #3",
|
||||
"eor w27, w4, w20",
|
||||
"subs x26, x4, x20",
|
||||
@ -2264,7 +2264,7 @@
|
||||
"ExpectedInstructionCount": 25,
|
||||
"Comment": "0xae",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x30",
|
||||
@ -2295,7 +2295,7 @@
|
||||
"ExpectedInstructionCount": 25,
|
||||
"Comment": "0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x30",
|
||||
@ -2326,7 +2326,7 @@
|
||||
"ExpectedInstructionCount": 21,
|
||||
"Comment": "0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x28",
|
||||
@ -2353,7 +2353,7 @@
|
||||
"ExpectedInstructionCount": 21,
|
||||
"Comment": "0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x28",
|
||||
@ -2380,7 +2380,7 @@
|
||||
"ExpectedInstructionCount": 25,
|
||||
"Comment": "0xae",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x30",
|
||||
@ -2411,7 +2411,7 @@
|
||||
"ExpectedInstructionCount": 25,
|
||||
"Comment": "0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x30",
|
||||
@ -2442,7 +2442,7 @@
|
||||
"ExpectedInstructionCount": 21,
|
||||
"Comment": "0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x28",
|
||||
@ -2469,7 +2469,7 @@
|
||||
"ExpectedInstructionCount": 21,
|
||||
"Comment": "0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x28",
|
||||
|
@ -16,7 +16,7 @@
|
||||
"ExpectedInstructionCount": 2,
|
||||
"Comment": "0x06",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x28, #144]",
|
||||
"ldrh w20, [x28, #928]",
|
||||
"str w20, [x8, #-4]!"
|
||||
]
|
||||
},
|
||||
@ -26,18 +26,18 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr w20, [x8]",
|
||||
"add x8, x8, #0x4 (4)",
|
||||
"strh w20, [x28, #144]",
|
||||
"strh w20, [x28, #928]",
|
||||
"ubfx w20, w20, #3, #13",
|
||||
"add x0, x28, x20, lsl #2",
|
||||
"ldr w20, [x0, #896]",
|
||||
"str w20, [x28, #160]"
|
||||
"ldr w20, [x0, #1168]",
|
||||
"str w20, [x28, #944]"
|
||||
]
|
||||
},
|
||||
"push cs": {
|
||||
"ExpectedInstructionCount": 2,
|
||||
"Comment": "0x0e",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x28, #146]",
|
||||
"ldrh w20, [x28, #930]",
|
||||
"str w20, [x8, #-4]!"
|
||||
]
|
||||
},
|
||||
@ -45,7 +45,7 @@
|
||||
"ExpectedInstructionCount": 2,
|
||||
"Comment": "0x16",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x28, #148]",
|
||||
"ldrh w20, [x28, #932]",
|
||||
"str w20, [x8, #-4]!"
|
||||
]
|
||||
},
|
||||
@ -55,18 +55,18 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr w20, [x8]",
|
||||
"add x8, x8, #0x4 (4)",
|
||||
"strh w20, [x28, #148]",
|
||||
"strh w20, [x28, #932]",
|
||||
"ubfx w20, w20, #3, #13",
|
||||
"add x0, x28, x20, lsl #2",
|
||||
"ldr w20, [x0, #896]",
|
||||
"str w20, [x28, #168]"
|
||||
"ldr w20, [x0, #1168]",
|
||||
"str w20, [x28, #952]"
|
||||
]
|
||||
},
|
||||
"push ds": {
|
||||
"ExpectedInstructionCount": 2,
|
||||
"Comment": "0x1e",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x28, #150]",
|
||||
"ldrh w20, [x28, #934]",
|
||||
"str w20, [x8, #-4]!"
|
||||
]
|
||||
},
|
||||
@ -76,11 +76,11 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr w20, [x8]",
|
||||
"add x8, x8, #0x4 (4)",
|
||||
"strh w20, [x28, #150]",
|
||||
"strh w20, [x28, #934]",
|
||||
"ubfx w20, w20, #3, #13",
|
||||
"add x0, x28, x20, lsl #2",
|
||||
"ldr w20, [x0, #896]",
|
||||
"str w20, [x28, #172]"
|
||||
"ldr w20, [x0, #1168]",
|
||||
"str w20, [x28, #956]"
|
||||
]
|
||||
},
|
||||
"daa": {
|
||||
|
@ -1609,8 +1609,8 @@
|
||||
"ExpectedInstructionCount": 8,
|
||||
"Comment": "0x0f 0xd7",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d3, [x28, #2288]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ldr d3, [x28, #2544]",
|
||||
"cmlt v2.16b, v2.16b, #0",
|
||||
"and v2.16b, v2.16b, v3.16b",
|
||||
"addp v2.16b, v2.16b, v2.16b",
|
||||
@ -1623,9 +1623,9 @@
|
||||
"ExpectedInstructionCount": 6,
|
||||
"Comment": "0x0f 0xf7",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"cmlt v2.16b, v2.16b, #0",
|
||||
"ldr d3, [x28, #768]",
|
||||
"ldr d3, [x28, #1040]",
|
||||
"ldr d4, [x11]",
|
||||
"bsl v2.8b, v3.8b, v4.8b",
|
||||
"str d2, [x11]"
|
||||
|
@ -789,9 +789,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP12 0x0F 0xC7 /2",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ushr v2.8h, v2.8h, #15",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psrlw mm0, 16": {
|
||||
@ -799,9 +799,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP12 0x0F 0xC7 /2",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"movi v2.2d, #0x0",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psrlw xmm0, 0": {
|
||||
@ -837,9 +837,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP12 0x0F 0xC7 /3",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"sshr v2.8h, v2.8h, #15",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psraw mm0, 16": {
|
||||
@ -847,9 +847,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP12 0x0F 0xC7 /3",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"sshr v2.8h, v2.8h, #15",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psraw xmm0, 0": {
|
||||
@ -885,9 +885,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP12 0x0F 0xC7 /6",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"shl v2.8h, v2.8h, #15",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psllw mm0, 16": {
|
||||
@ -895,9 +895,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP12 0x0F 0xC7 /6",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"movi v2.2d, #0x0",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psllw xmm0, 0": {
|
||||
@ -933,9 +933,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP13 0x0F 0xC7 /2",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ushr v2.4s, v2.4s, #31",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psrld mm0, 32": {
|
||||
@ -943,9 +943,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP13 0x0F 0xC7 /2",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"movi v2.2d, #0x0",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psrld xmm0, 0": {
|
||||
@ -981,9 +981,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP13 0x0F 0xC7 /3",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"sshr v2.4s, v2.4s, #31",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psrad mm0, 32": {
|
||||
@ -991,9 +991,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP13 0x0F 0xC7 /3",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"sshr v2.4s, v2.4s, #31",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psrad xmm0, 0": {
|
||||
@ -1029,9 +1029,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP13 0x0F 0xC7 /6",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"shl v2.4s, v2.4s, #31",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pslld mm0, 32": {
|
||||
@ -1039,9 +1039,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP13 0x0F 0xC7 /6",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"movi v2.2d, #0x0",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pslld xmm0, 0": {
|
||||
@ -1077,9 +1077,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP14 0x0F 0xC7 /2",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ushr v2.2d, v2.2d, #63",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psrlq mm0, 64": {
|
||||
@ -1087,9 +1087,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP14 0x0F 0xC7 /2",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"movi v2.2d, #0x0",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psrlq xmm0, 0": {
|
||||
@ -1148,9 +1148,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP14 0x0F 0xC7 /6",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"shl v2.2d, v2.2d, #63",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psllq mm0, 64": {
|
||||
@ -1158,9 +1158,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP14 0x0F 0xC7 /6",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"movi v2.2d, #0x0",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psllq xmm0, 0": {
|
||||
@ -1189,37 +1189,37 @@
|
||||
"ExpectedInstructionCount": 57,
|
||||
"Comment": "GROUP15 0x0F 0xAE /0",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x28, #1024]",
|
||||
"ldrh w20, [x28, #1296]",
|
||||
"strh w20, [x4]",
|
||||
"mov w20, #0x0",
|
||||
"ldrb w21, [x28, #747]",
|
||||
"ldrb w21, [x28, #1019]",
|
||||
"bfi x20, x21, #11, #3",
|
||||
"ldrb w21, [x28, #744]",
|
||||
"ldrb w22, [x28, #745]",
|
||||
"ldrb w23, [x28, #746]",
|
||||
"ldrb w24, [x28, #750]",
|
||||
"ldrb w21, [x28, #1016]",
|
||||
"ldrb w22, [x28, #1017]",
|
||||
"ldrb w23, [x28, #1018]",
|
||||
"ldrb w24, [x28, #1022]",
|
||||
"orr x20, x20, x21, lsl #8",
|
||||
"orr x20, x20, x22, lsl #9",
|
||||
"orr x20, x20, x23, lsl #10",
|
||||
"orr x20, x20, x24, lsl #14",
|
||||
"strh w20, [x4, #2]",
|
||||
"ldrb w20, [x28, #1026]",
|
||||
"ldrb w20, [x28, #1298]",
|
||||
"strb w20, [x4, #4]",
|
||||
"ldr q2, [x28, #768]",
|
||||
"ldr q2, [x28, #1040]",
|
||||
"str q2, [x4, #32]",
|
||||
"ldr q2, [x28, #784]",
|
||||
"ldr q2, [x28, #1056]",
|
||||
"str q2, [x4, #48]",
|
||||
"ldr q2, [x28, #800]",
|
||||
"ldr q2, [x28, #1072]",
|
||||
"str q2, [x4, #64]",
|
||||
"ldr q2, [x28, #816]",
|
||||
"ldr q2, [x28, #1088]",
|
||||
"str q2, [x4, #80]",
|
||||
"ldr q2, [x28, #832]",
|
||||
"ldr q2, [x28, #1104]",
|
||||
"str q2, [x4, #96]",
|
||||
"ldr q2, [x28, #848]",
|
||||
"ldr q2, [x28, #1120]",
|
||||
"str q2, [x4, #112]",
|
||||
"ldr q2, [x28, #864]",
|
||||
"ldr q2, [x28, #1136]",
|
||||
"str q2, [x4, #128]",
|
||||
"ldr q2, [x28, #880]",
|
||||
"ldr q2, [x28, #1152]",
|
||||
"str q2, [x4, #144]",
|
||||
"str q16, [x4, #160]",
|
||||
"str q17, [x4, #176]",
|
||||
@ -1252,14 +1252,14 @@
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "GROUP15 0x0F 0xAE /0",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr w4, [x28, #184]"
|
||||
"ldr w4, [x28, #968]"
|
||||
]
|
||||
},
|
||||
"rdfsbase rax": {
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "GROUP15 0x0F 0xAE /0",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x4, [x28, #184]"
|
||||
"ldr x4, [x28, #968]"
|
||||
]
|
||||
},
|
||||
"fxrstor [rax]": {
|
||||
@ -1267,36 +1267,36 @@
|
||||
"Comment": "GROUP15 0x0F 0xAE /1",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x4]",
|
||||
"strh w20, [x28, #1024]",
|
||||
"strh w20, [x28, #1296]",
|
||||
"ldrh w20, [x4, #2]",
|
||||
"ubfx w21, w20, #11, #3",
|
||||
"strb w21, [x28, #747]",
|
||||
"strb w21, [x28, #1019]",
|
||||
"ubfx w21, w20, #8, #1",
|
||||
"ubfx w22, w20, #9, #1",
|
||||
"ubfx w23, w20, #10, #1",
|
||||
"ubfx w20, w20, #14, #1",
|
||||
"strb w21, [x28, #744]",
|
||||
"strb w22, [x28, #745]",
|
||||
"strb w23, [x28, #746]",
|
||||
"strb w20, [x28, #750]",
|
||||
"strb w21, [x28, #1016]",
|
||||
"strb w22, [x28, #1017]",
|
||||
"strb w23, [x28, #1018]",
|
||||
"strb w20, [x28, #1022]",
|
||||
"ldrb w20, [x4, #4]",
|
||||
"strb w20, [x28, #1026]",
|
||||
"strb w20, [x28, #1298]",
|
||||
"ldr q2, [x4, #32]",
|
||||
"str q2, [x28, #768]",
|
||||
"str q2, [x28, #1040]",
|
||||
"ldr q2, [x4, #48]",
|
||||
"str q2, [x28, #784]",
|
||||
"str q2, [x28, #1056]",
|
||||
"ldr q2, [x4, #64]",
|
||||
"str q2, [x28, #800]",
|
||||
"str q2, [x28, #1072]",
|
||||
"ldr q2, [x4, #80]",
|
||||
"str q2, [x28, #816]",
|
||||
"str q2, [x28, #1088]",
|
||||
"ldr q2, [x4, #96]",
|
||||
"str q2, [x28, #832]",
|
||||
"str q2, [x28, #1104]",
|
||||
"ldr q2, [x4, #112]",
|
||||
"str q2, [x28, #848]",
|
||||
"str q2, [x28, #1120]",
|
||||
"ldr q2, [x4, #128]",
|
||||
"str q2, [x28, #864]",
|
||||
"str q2, [x28, #1136]",
|
||||
"ldr q2, [x4, #144]",
|
||||
"str q2, [x28, #880]",
|
||||
"str q2, [x28, #1152]",
|
||||
"ldr q16, [x4, #160]",
|
||||
"ldr q17, [x4, #176]",
|
||||
"ldr q18, [x4, #192]",
|
||||
@ -1328,14 +1328,14 @@
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "GROUP15 0x0F 0xAE /1",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr w4, [x28, #176]"
|
||||
"ldr w4, [x28, #960]"
|
||||
]
|
||||
},
|
||||
"rdgsbase rax": {
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "GROUP15 0x0F 0xAE /1",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x4, [x28, #176]"
|
||||
"ldr x4, [x28, #960]"
|
||||
]
|
||||
},
|
||||
"ldmxcsr [rax]": {
|
||||
@ -1358,14 +1358,14 @@
|
||||
"Comment": "GROUP15 0x0F 0xAE /2",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w4",
|
||||
"str x20, [x28, #184]"
|
||||
"str x20, [x28, #968]"
|
||||
]
|
||||
},
|
||||
"wrfsbase rax": {
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "GROUP15 0x0F 0xAE /2",
|
||||
"ExpectedArm64ASM": [
|
||||
"str x4, [x28, #184]"
|
||||
"str x4, [x28, #968]"
|
||||
]
|
||||
},
|
||||
"stmxcsr [rax]": {
|
||||
@ -1386,14 +1386,14 @@
|
||||
"Comment": "GROUP15 0x0F 0xAE /3",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w4",
|
||||
"str x20, [x28, #176]"
|
||||
"str x20, [x28, #960]"
|
||||
]
|
||||
},
|
||||
"wrgsbase rax": {
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "GROUP15 0x0F 0xAE /3",
|
||||
"ExpectedArm64ASM": [
|
||||
"str x4, [x28, #176]"
|
||||
"str x4, [x28, #960]"
|
||||
]
|
||||
},
|
||||
"xsave [rax]": {
|
||||
@ -1403,37 +1403,37 @@
|
||||
"ubfx x20, x4, #0, #1",
|
||||
"cbnz x20, #+0x8",
|
||||
"b #+0x84",
|
||||
"ldrh w20, [x28, #1024]",
|
||||
"ldrh w20, [x28, #1296]",
|
||||
"strh w20, [x4]",
|
||||
"mov w20, #0x0",
|
||||
"ldrb w21, [x28, #747]",
|
||||
"ldrb w21, [x28, #1019]",
|
||||
"bfi x20, x21, #11, #3",
|
||||
"ldrb w21, [x28, #744]",
|
||||
"ldrb w22, [x28, #745]",
|
||||
"ldrb w23, [x28, #746]",
|
||||
"ldrb w24, [x28, #750]",
|
||||
"ldrb w21, [x28, #1016]",
|
||||
"ldrb w22, [x28, #1017]",
|
||||
"ldrb w23, [x28, #1018]",
|
||||
"ldrb w24, [x28, #1022]",
|
||||
"orr x20, x20, x21, lsl #8",
|
||||
"orr x20, x20, x22, lsl #9",
|
||||
"orr x20, x20, x23, lsl #10",
|
||||
"orr x20, x20, x24, lsl #14",
|
||||
"strh w20, [x4, #2]",
|
||||
"ldrb w20, [x28, #1026]",
|
||||
"ldrb w20, [x28, #1298]",
|
||||
"strb w20, [x4, #4]",
|
||||
"ldr q2, [x28, #768]",
|
||||
"ldr q2, [x28, #1040]",
|
||||
"str q2, [x4, #32]",
|
||||
"ldr q2, [x28, #784]",
|
||||
"ldr q2, [x28, #1056]",
|
||||
"str q2, [x4, #48]",
|
||||
"ldr q2, [x28, #800]",
|
||||
"ldr q2, [x28, #1072]",
|
||||
"str q2, [x4, #64]",
|
||||
"ldr q2, [x28, #816]",
|
||||
"ldr q2, [x28, #1088]",
|
||||
"str q2, [x4, #80]",
|
||||
"ldr q2, [x28, #832]",
|
||||
"ldr q2, [x28, #1104]",
|
||||
"str q2, [x4, #96]",
|
||||
"ldr q2, [x28, #848]",
|
||||
"ldr q2, [x28, #1120]",
|
||||
"str q2, [x4, #112]",
|
||||
"ldr q2, [x28, #864]",
|
||||
"ldr q2, [x28, #1136]",
|
||||
"str q2, [x4, #128]",
|
||||
"ldr q2, [x28, #880]",
|
||||
"ldr q2, [x28, #1152]",
|
||||
"str q2, [x4, #144]",
|
||||
"ubfx x20, x4, #1, #1",
|
||||
"cbnz x20, #+0x8",
|
||||
@ -1486,55 +1486,55 @@
|
||||
"cbnz x20, #+0x8",
|
||||
"b #+0x84",
|
||||
"ldrh w20, [x4]",
|
||||
"strh w20, [x28, #1024]",
|
||||
"strh w20, [x28, #1296]",
|
||||
"ldrh w20, [x4, #2]",
|
||||
"ubfx w21, w20, #11, #3",
|
||||
"strb w21, [x28, #747]",
|
||||
"strb w21, [x28, #1019]",
|
||||
"ubfx w21, w20, #8, #1",
|
||||
"ubfx w22, w20, #9, #1",
|
||||
"ubfx w23, w20, #10, #1",
|
||||
"ubfx w20, w20, #14, #1",
|
||||
"strb w21, [x28, #744]",
|
||||
"strb w22, [x28, #745]",
|
||||
"strb w23, [x28, #746]",
|
||||
"strb w20, [x28, #750]",
|
||||
"strb w21, [x28, #1016]",
|
||||
"strb w22, [x28, #1017]",
|
||||
"strb w23, [x28, #1018]",
|
||||
"strb w20, [x28, #1022]",
|
||||
"ldrb w20, [x4, #4]",
|
||||
"strb w20, [x28, #1026]",
|
||||
"strb w20, [x28, #1298]",
|
||||
"ldr q2, [x4, #32]",
|
||||
"str q2, [x28, #768]",
|
||||
"str q2, [x28, #1040]",
|
||||
"ldr q2, [x4, #48]",
|
||||
"str q2, [x28, #784]",
|
||||
"str q2, [x28, #1056]",
|
||||
"ldr q2, [x4, #64]",
|
||||
"str q2, [x28, #800]",
|
||||
"str q2, [x28, #1072]",
|
||||
"ldr q2, [x4, #80]",
|
||||
"str q2, [x28, #816]",
|
||||
"str q2, [x28, #1088]",
|
||||
"ldr q2, [x4, #96]",
|
||||
"str q2, [x28, #832]",
|
||||
"str q2, [x28, #1104]",
|
||||
"ldr q2, [x4, #112]",
|
||||
"str q2, [x28, #848]",
|
||||
"str q2, [x28, #1120]",
|
||||
"ldr q2, [x4, #128]",
|
||||
"str q2, [x28, #864]",
|
||||
"str q2, [x28, #1136]",
|
||||
"ldr q2, [x4, #144]",
|
||||
"str q2, [x28, #880]",
|
||||
"str q2, [x28, #1152]",
|
||||
"b #+0x4c",
|
||||
"mov w20, #0x0",
|
||||
"mov w21, #0x37f",
|
||||
"strh w21, [x28, #1024]",
|
||||
"strb w20, [x28, #747]",
|
||||
"strb w20, [x28, #744]",
|
||||
"strb w20, [x28, #745]",
|
||||
"strb w20, [x28, #746]",
|
||||
"strb w20, [x28, #750]",
|
||||
"strb w20, [x28, #1026]",
|
||||
"strh w21, [x28, #1296]",
|
||||
"strb w20, [x28, #1019]",
|
||||
"strb w20, [x28, #1016]",
|
||||
"strb w20, [x28, #1017]",
|
||||
"strb w20, [x28, #1018]",
|
||||
"strb w20, [x28, #1022]",
|
||||
"strb w20, [x28, #1298]",
|
||||
"movi v2.2d, #0x0",
|
||||
"str q2, [x28, #768]",
|
||||
"str q2, [x28, #784]",
|
||||
"str q2, [x28, #800]",
|
||||
"str q2, [x28, #816]",
|
||||
"str q2, [x28, #832]",
|
||||
"str q2, [x28, #848]",
|
||||
"str q2, [x28, #864]",
|
||||
"str q2, [x28, #880]",
|
||||
"str q2, [x28, #1040]",
|
||||
"str q2, [x28, #1056]",
|
||||
"str q2, [x28, #1072]",
|
||||
"str q2, [x28, #1088]",
|
||||
"str q2, [x28, #1104]",
|
||||
"str q2, [x28, #1120]",
|
||||
"str q2, [x28, #1136]",
|
||||
"str q2, [x28, #1152]",
|
||||
"ldr x20, [x4, #512]",
|
||||
"ubfx x20, x20, #1, #1",
|
||||
"cbnz x20, #+0x8",
|
||||
|
@ -25,43 +25,43 @@
|
||||
"st1 {v12.2d, v13.2d, v14.2d, v15.2d}, [x3], #64",
|
||||
"str x30, [x3]",
|
||||
"mrs x3, nzcv",
|
||||
"str w3, [x28, #728]",
|
||||
"stp x4, x5, [x28, #16]",
|
||||
"stp x6, x7, [x28, #32]",
|
||||
"stp x8, x9, [x28, #48]",
|
||||
"stp x10, x11, [x28, #64]",
|
||||
"stp x12, x13, [x28, #80]",
|
||||
"stp x14, x15, [x28, #96]",
|
||||
"stp x16, x17, [x28, #112]",
|
||||
"stp x19, x29, [x28, #128]",
|
||||
"str x26, [x28, #752]",
|
||||
"str x27, [x28, #760]",
|
||||
"add x3, x28, #0xc0 (192)",
|
||||
"str w3, [x28, #1000]",
|
||||
"stp x4, x5, [x28, #280]",
|
||||
"stp x6, x7, [x28, #296]",
|
||||
"stp x8, x9, [x28, #312]",
|
||||
"stp x10, x11, [x28, #328]",
|
||||
"stp x12, x13, [x28, #344]",
|
||||
"stp x14, x15, [x28, #360]",
|
||||
"stp x16, x17, [x28, #376]",
|
||||
"stp x19, x29, [x28, #392]",
|
||||
"str x26, [x28, #1024]",
|
||||
"str x27, [x28, #1032]",
|
||||
"add x3, x28, #0x1a0 (416)",
|
||||
"st1 {v16.2d, v17.2d, v18.2d, v19.2d}, [x3], #64",
|
||||
"st1 {v20.2d, v21.2d, v22.2d, v23.2d}, [x3], #64",
|
||||
"st1 {v24.2d, v25.2d, v26.2d, v27.2d}, [x3], #64",
|
||||
"st1 {v28.2d, v29.2d, v30.2d, v31.2d}, [x3], #64",
|
||||
"mov w1, w5",
|
||||
"ldr x0, [x28, #1112]",
|
||||
"ldr x2, [x28, #1128]",
|
||||
"ldr x0, [x28, #1368]",
|
||||
"ldr x2, [x28, #1384]",
|
||||
"blr x2",
|
||||
"ldr w4, [x28, #728]",
|
||||
"ldr w4, [x28, #1000]",
|
||||
"msr nzcv, x4",
|
||||
"add x4, x28, #0xc0 (192)",
|
||||
"add x4, x28, #0x1a0 (416)",
|
||||
"ld1 {v16.2d, v17.2d, v18.2d, v19.2d}, [x4], #64",
|
||||
"ld1 {v20.2d, v21.2d, v22.2d, v23.2d}, [x4], #64",
|
||||
"ld1 {v24.2d, v25.2d, v26.2d, v27.2d}, [x4], #64",
|
||||
"ld1 {v28.2d, v29.2d, v30.2d, v31.2d}, [x4], #64",
|
||||
"ldp x4, x5, [x28, #16]",
|
||||
"ldp x6, x7, [x28, #32]",
|
||||
"ldp x8, x9, [x28, #48]",
|
||||
"ldp x10, x11, [x28, #64]",
|
||||
"ldp x12, x13, [x28, #80]",
|
||||
"ldp x14, x15, [x28, #96]",
|
||||
"ldp x16, x17, [x28, #112]",
|
||||
"ldp x19, x29, [x28, #128]",
|
||||
"ldr x26, [x28, #752]",
|
||||
"ldr x27, [x28, #760]",
|
||||
"ldp x4, x5, [x28, #280]",
|
||||
"ldp x6, x7, [x28, #296]",
|
||||
"ldp x8, x9, [x28, #312]",
|
||||
"ldp x10, x11, [x28, #328]",
|
||||
"ldp x12, x13, [x28, #344]",
|
||||
"ldp x14, x15, [x28, #360]",
|
||||
"ldp x16, x17, [x28, #376]",
|
||||
"ldp x19, x29, [x28, #392]",
|
||||
"ldr x26, [x28, #1024]",
|
||||
"ldr x27, [x28, #1032]",
|
||||
"ld1 {v2.2d, v3.2d}, [sp], #32",
|
||||
"ld1 {v4.2d, v5.2d, v6.2d, v7.2d}, [sp], #64",
|
||||
"ld1 {v8.2d, v9.2d, v10.2d, v11.2d}, [sp], #64",
|
||||
@ -82,10 +82,10 @@
|
||||
"lsl w4, w20, #7",
|
||||
"lsr x6, x20, #25",
|
||||
"mrs x0, nzcv",
|
||||
"str w0, [x28, #728]",
|
||||
"str x8, [x28, #48]",
|
||||
"str w0, [x28, #1000]",
|
||||
"str x8, [x28, #312]",
|
||||
"mov w0, #0x100",
|
||||
"str x0, [x28, #1048]",
|
||||
"str x0, [x28, #1312]",
|
||||
"sub sp, sp, #0x10 (16)",
|
||||
"mov w8, #0xa8",
|
||||
"mov x0, sp",
|
||||
@ -93,10 +93,10 @@
|
||||
"svc #0x0",
|
||||
"ldp w0, w1, [sp]",
|
||||
"sub sp, sp, #0x10 (16)",
|
||||
"ldr w8, [x28, #728]",
|
||||
"ldr w8, [x28, #1000]",
|
||||
"msr nzcv, x8",
|
||||
"ldr x8, [x28, #48]",
|
||||
"str xzr, [x28, #1048]",
|
||||
"ldr x8, [x28, #312]",
|
||||
"str xzr, [x28, #1312]",
|
||||
"orr x5, x0, x1, lsl #12"
|
||||
]
|
||||
}
|
||||
|
@ -39,7 +39,7 @@
|
||||
"ExpectedInstructionCount": 7,
|
||||
"Comment": "0x66 0x0f 0xd7",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x28, #2288]",
|
||||
"ldr q2, [x28, #2544]",
|
||||
"cmlt v3.16b, v16.16b, #0",
|
||||
"and v2.16b, v3.16b, v2.16b",
|
||||
"addp v2.16b, v2.16b, v2.16b",
|
||||
|
@ -72,7 +72,7 @@
|
||||
"Map 1 0b01 0xd7 256-bit"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x28, #2288]",
|
||||
"ldr q2, [x28, #2544]",
|
||||
"cmlt v3.16b, v16.16b, #0",
|
||||
"and v2.16b, v3.16b, v2.16b",
|
||||
"addp v2.16b, v2.16b, v2.16b",
|
||||
@ -87,7 +87,7 @@
|
||||
"Map 1 0b01 0xd7 256-bit"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x0, [x28, #1680]",
|
||||
"ldr x0, [x28, #1936]",
|
||||
"ld1b {z2.b}, p7/z, [x0]",
|
||||
"mrs x0, nzcv",
|
||||
"mov z0.d, #0",
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -18,12 +18,12 @@
|
||||
"NP 0x0f 0x38 0x00"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d3, [x28, #784]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ldr d3, [x28, #1056]",
|
||||
"movi v4.16b, #0x87",
|
||||
"and v3.16b, v3.16b, v4.16b",
|
||||
"tbl v2.8b, {v2.16b}, v3.8b",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pshufb xmm0, xmm1": {
|
||||
@ -43,10 +43,10 @@
|
||||
"NP 0x0f 0x38 0x01"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d3, [x28, #768]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"ldr d3, [x28, #1040]",
|
||||
"addp v2.4h, v3.4h, v2.4h",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"phaddw xmm0, xmm1": {
|
||||
@ -64,10 +64,10 @@
|
||||
"NP 0x0f 0x38 0x02"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d3, [x28, #768]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"ldr d3, [x28, #1040]",
|
||||
"addp v2.2s, v3.2s, v2.2s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"phaddd xmm0, xmm1": {
|
||||
@ -85,12 +85,12 @@
|
||||
"NP 0x0f 0x38 0x03"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d3, [x28, #784]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ldr d3, [x28, #1056]",
|
||||
"uzp1 v4.4h, v2.4h, v3.4h",
|
||||
"uzp2 v2.4h, v2.4h, v3.4h",
|
||||
"sqadd v2.8h, v4.8h, v2.8h",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"phaddsw xmm0, xmm1": {
|
||||
@ -110,15 +110,15 @@
|
||||
"NP 0x0f 0x38 0x04"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d3, [x28, #784]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ldr d3, [x28, #1056]",
|
||||
"uxtl v2.8h, v2.8b",
|
||||
"sxtl v3.8h, v3.8b",
|
||||
"smull v4.4s, v2.4h, v3.4h",
|
||||
"smull2 v2.4s, v2.8h, v3.8h",
|
||||
"addp v2.4s, v4.4s, v2.4s",
|
||||
"sqxtn v2.4h, v2.4s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pmaddubsw xmm0, xmm1": {
|
||||
@ -148,12 +148,12 @@
|
||||
"NP 0x0f 0x38 0x05"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d3, [x28, #784]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ldr d3, [x28, #1056]",
|
||||
"uzp1 v4.4h, v2.4h, v3.4h",
|
||||
"uzp2 v2.4h, v2.4h, v3.4h",
|
||||
"sub v2.8h, v4.8h, v2.8h",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"phsubw xmm0, xmm1": {
|
||||
@ -173,12 +173,12 @@
|
||||
"NP 0x0f 0x38 0x06"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d3, [x28, #784]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ldr d3, [x28, #1056]",
|
||||
"uzp1 v4.2s, v2.2s, v3.2s",
|
||||
"uzp2 v2.2s, v2.2s, v3.2s",
|
||||
"sub v2.4s, v4.4s, v2.4s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"phsubd xmm0, xmm1": {
|
||||
@ -198,12 +198,12 @@
|
||||
"NP 0x0f 0x38 0x07"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d3, [x28, #784]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ldr d3, [x28, #1056]",
|
||||
"uzp1 v4.4h, v2.4h, v3.4h",
|
||||
"uzp2 v2.4h, v2.4h, v3.4h",
|
||||
"sqsub v2.8h, v4.8h, v2.8h",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"phsubsw xmm0, xmm1": {
|
||||
@ -223,12 +223,12 @@
|
||||
"NP 0x0f 0x38 0x08"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d3, [x28, #768]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"ldr d3, [x28, #1040]",
|
||||
"sqshl v2.8b, v2.8b, #7",
|
||||
"srshr v2.8b, v2.8b, #7",
|
||||
"mul v2.16b, v3.16b, v2.16b",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psignb xmm0, xmm1": {
|
||||
@ -248,12 +248,12 @@
|
||||
"NP 0x0f 0x38 0x09"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d3, [x28, #768]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"ldr d3, [x28, #1040]",
|
||||
"sqshl v2.4h, v2.4h, #15",
|
||||
"srshr v2.4h, v2.4h, #15",
|
||||
"mul v2.8h, v3.8h, v2.8h",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psignw xmm0, xmm1": {
|
||||
@ -273,12 +273,12 @@
|
||||
"NP 0x0f 0x38 0x0a"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d3, [x28, #768]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"ldr d3, [x28, #1040]",
|
||||
"sqshl v2.2s, v2.2s, #31",
|
||||
"srshr v2.2s, v2.2s, #31",
|
||||
"mul v2.4s, v3.4s, v2.4s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psignd xmm0, xmm1": {
|
||||
@ -299,14 +299,14 @@
|
||||
"NP 0x0f 0x38 0x0b"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d3, [x28, #784]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ldr d3, [x28, #1056]",
|
||||
"smull v2.4s, v2.4h, v3.4h",
|
||||
"sshr v2.4s, v2.4s, #14",
|
||||
"movi v3.4s, #0x1, lsl #0",
|
||||
"add v2.4s, v2.4s, v3.4s",
|
||||
"shrn v2.4h, v2.4s, #1",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pmulhrsw xmm0, xmm1": {
|
||||
@ -417,9 +417,9 @@
|
||||
"NP 0x0f 0x38 0x1c"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"abs v2.16b, v2.16b",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pabsb xmm0, xmm1": {
|
||||
@ -437,9 +437,9 @@
|
||||
"NP 0x0f 0x38 0x1d"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"abs v2.8h, v2.8h",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pabsw xmm0, xmm1": {
|
||||
@ -457,9 +457,9 @@
|
||||
"NP 0x0f 0x38 0x1e"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"abs v2.4s, v2.4s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pabsd xmm0, xmm1": {
|
||||
@ -625,7 +625,7 @@
|
||||
"0x66 0x0f 0x38 0x41"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x28, #2064]",
|
||||
"ldr q2, [x28, #2320]",
|
||||
"zip1 v3.8h, v2.8h, v17.8h",
|
||||
"zip2 v2.8h, v2.8h, v17.8h",
|
||||
"umin v2.4s, v3.4s, v2.4s",
|
||||
|
@ -20,8 +20,8 @@
|
||||
"NP 0x0f 0x3a 0x0f"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"str d2, [x28, #768]"
|
||||
"ldr d2, [x28, #1056]",
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"palignr mm0, mm1, 1": {
|
||||
@ -30,10 +30,10 @@
|
||||
"NP 0x0f 0x3a 0x0f"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d3, [x28, #768]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"ldr d3, [x28, #1040]",
|
||||
"ext v2.8b, v2.8b, v3.8b, #1",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"palignr mm0, mm1, 255": {
|
||||
@ -43,7 +43,7 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"movi v2.2d, #0x0",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"roundps xmm0, xmm1, 00000000b": {
|
||||
@ -315,7 +315,7 @@
|
||||
"0x66 0x0f 0x3a 0x0c"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x28, #2192]",
|
||||
"ldr q2, [x28, #2448]",
|
||||
"tbx v16.16b, {v17.16b}, v2.16b"
|
||||
]
|
||||
},
|
||||
@ -325,7 +325,7 @@
|
||||
"0x66 0x0f 0x3a 0x0c"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x28, #2208]",
|
||||
"ldr q2, [x28, #2464]",
|
||||
"tbx v16.16b, {v17.16b}, v2.16b"
|
||||
]
|
||||
},
|
||||
@ -344,7 +344,7 @@
|
||||
"0x66 0x0f 0x3a 0x0c"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x28, #2224]",
|
||||
"ldr q2, [x28, #2480]",
|
||||
"tbx v16.16b, {v17.16b}, v2.16b"
|
||||
]
|
||||
},
|
||||
@ -364,7 +364,7 @@
|
||||
"0x66 0x0f 0x3a 0x0c"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x28, #2240]",
|
||||
"ldr q2, [x28, #2496]",
|
||||
"tbx v16.16b, {v17.16b}, v2.16b"
|
||||
]
|
||||
},
|
||||
@ -383,7 +383,7 @@
|
||||
"0x66 0x0f 0x3a 0x0c"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x28, #2256]",
|
||||
"ldr q2, [x28, #2512]",
|
||||
"tbx v16.16b, {v17.16b}, v2.16b"
|
||||
]
|
||||
},
|
||||
@ -393,7 +393,7 @@
|
||||
"0x66 0x0f 0x3a 0x0c"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x28, #2272]",
|
||||
"ldr q2, [x28, #2528]",
|
||||
"tbx v16.16b, {v17.16b}, v2.16b"
|
||||
]
|
||||
},
|
||||
@ -462,7 +462,7 @@
|
||||
"0x66 0x0f 0x3a 0x0e"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x0, [x28, #1792]",
|
||||
"ldr x0, [x28, #2048]",
|
||||
"ldr q2, [x0, #3440]",
|
||||
"tbx v16.16b, {v17.16b}, v2.16b"
|
||||
]
|
||||
|
@ -2043,7 +2043,7 @@
|
||||
"ExpectedInstructionCount": 2,
|
||||
"Comment": "0x8c",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x28, #146]",
|
||||
"ldrh w20, [x28, #930]",
|
||||
"bfxil x4, x20, #0, #16"
|
||||
]
|
||||
},
|
||||
@ -2051,21 +2051,21 @@
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "0x8c",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w4, [x28, #146]"
|
||||
"ldrh w4, [x28, #930]"
|
||||
]
|
||||
},
|
||||
"mov rax, cs": {
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "0x8c",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w4, [x28, #146]"
|
||||
"ldrh w4, [x28, #930]"
|
||||
]
|
||||
},
|
||||
"mov ax, es": {
|
||||
"ExpectedInstructionCount": 2,
|
||||
"Comment": "0x8c",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x28, #144]",
|
||||
"ldrh w20, [x28, #928]",
|
||||
"bfxil x4, x20, #0, #16"
|
||||
]
|
||||
},
|
||||
@ -2073,21 +2073,21 @@
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "0x8c",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w4, [x28, #144]"
|
||||
"ldrh w4, [x28, #928]"
|
||||
]
|
||||
},
|
||||
"mov rax, es": {
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "0x8c",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w4, [x28, #144]"
|
||||
"ldrh w4, [x28, #928]"
|
||||
]
|
||||
},
|
||||
"mov ax, ss": {
|
||||
"ExpectedInstructionCount": 2,
|
||||
"Comment": "0x8c",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x28, #148]",
|
||||
"ldrh w20, [x28, #932]",
|
||||
"bfxil x4, x20, #0, #16"
|
||||
]
|
||||
},
|
||||
@ -2095,21 +2095,21 @@
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "0x8c",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w4, [x28, #148]"
|
||||
"ldrh w4, [x28, #932]"
|
||||
]
|
||||
},
|
||||
"mov rax, ss": {
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "0x8c",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w4, [x28, #148]"
|
||||
"ldrh w4, [x28, #932]"
|
||||
]
|
||||
},
|
||||
"mov ax, ds": {
|
||||
"ExpectedInstructionCount": 2,
|
||||
"Comment": "0x8c",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x28, #150]",
|
||||
"ldrh w20, [x28, #934]",
|
||||
"bfxil x4, x20, #0, #16"
|
||||
]
|
||||
},
|
||||
@ -2117,14 +2117,14 @@
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "0x8c",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w4, [x28, #150]"
|
||||
"ldrh w4, [x28, #934]"
|
||||
]
|
||||
},
|
||||
"mov rax, ds": {
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "0x8c",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w4, [x28, #150]"
|
||||
"ldrh w4, [x28, #934]"
|
||||
]
|
||||
},
|
||||
"mov ax, gs": {
|
||||
@ -2371,11 +2371,11 @@
|
||||
"Comment": "0x8e",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w4",
|
||||
"strh w20, [x28, #144]",
|
||||
"strh w20, [x28, #928]",
|
||||
"ubfx w20, w20, #3, #13",
|
||||
"add x0, x28, x20, lsl #2",
|
||||
"ldr w20, [x0, #896]",
|
||||
"str w20, [x28, #160]"
|
||||
"ldr w20, [x0, #1168]",
|
||||
"str w20, [x28, #944]"
|
||||
]
|
||||
},
|
||||
"mov ss, ax": {
|
||||
@ -2383,11 +2383,11 @@
|
||||
"Comment": "0x8e",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w4",
|
||||
"strh w20, [x28, #148]",
|
||||
"strh w20, [x28, #932]",
|
||||
"ubfx w20, w20, #3, #13",
|
||||
"add x0, x28, x20, lsl #2",
|
||||
"ldr w20, [x0, #896]",
|
||||
"str w20, [x28, #168]"
|
||||
"ldr w20, [x0, #1168]",
|
||||
"str w20, [x28, #952]"
|
||||
]
|
||||
},
|
||||
"mov ds, ax": {
|
||||
@ -2395,11 +2395,11 @@
|
||||
"Comment": "0x8e",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w4",
|
||||
"strh w20, [x28, #150]",
|
||||
"strh w20, [x28, #934]",
|
||||
"ubfx w20, w20, #3, #13",
|
||||
"add x0, x28, x20, lsl #2",
|
||||
"ldr w20, [x0, #896]",
|
||||
"str w20, [x28, #172]"
|
||||
"ldr w20, [x0, #1168]",
|
||||
"str w20, [x28, #956]"
|
||||
]
|
||||
},
|
||||
"mov gs, ax": {
|
||||
@ -2525,30 +2525,30 @@
|
||||
"eor w21, w27, w26",
|
||||
"ubfx w21, w21, #4, #1",
|
||||
"orr x20, x20, x21, lsl #4",
|
||||
"ldrb w21, [x28, #712]",
|
||||
"ldrb w21, [x28, #984]",
|
||||
"orr x20, x20, x21, lsl #8",
|
||||
"ldrb w21, [x28, #713]",
|
||||
"ldrb w21, [x28, #985]",
|
||||
"orr x20, x20, x21, lsl #9",
|
||||
"ldrsb x21, [x28, #714]",
|
||||
"ldrsb x21, [x28, #986]",
|
||||
"lsr x21, x21, #63",
|
||||
"orr x20, x20, x21, lsl #10",
|
||||
"cset w21, vs",
|
||||
"orr x20, x20, x21, lsl #11",
|
||||
"ldrb w21, [x28, #716]",
|
||||
"ldrb w21, [x28, #988]",
|
||||
"orr x20, x20, x21, lsl #12",
|
||||
"ldrb w21, [x28, #718]",
|
||||
"ldrb w21, [x28, #990]",
|
||||
"orr x20, x20, x21, lsl #14",
|
||||
"ldrb w21, [x28, #720]",
|
||||
"ldrb w21, [x28, #992]",
|
||||
"orr x20, x20, x21, lsl #16",
|
||||
"ldrb w21, [x28, #721]",
|
||||
"ldrb w21, [x28, #993]",
|
||||
"orr x20, x20, x21, lsl #17",
|
||||
"ldrb w21, [x28, #722]",
|
||||
"ldrb w21, [x28, #994]",
|
||||
"orr x20, x20, x21, lsl #18",
|
||||
"ldrb w21, [x28, #723]",
|
||||
"ldrb w21, [x28, #995]",
|
||||
"orr x20, x20, x21, lsl #19",
|
||||
"ldrb w21, [x28, #724]",
|
||||
"ldrb w21, [x28, #996]",
|
||||
"orr x20, x20, x21, lsl #20",
|
||||
"ldrb w21, [x28, #725]",
|
||||
"ldrb w21, [x28, #997]",
|
||||
"orr x20, x20, x21, lsl #21",
|
||||
"eor w21, w26, w26, lsr #4",
|
||||
"eor w21, w21, w21, lsr #2",
|
||||
@ -2570,30 +2570,30 @@
|
||||
"eor w21, w27, w26",
|
||||
"ubfx w21, w21, #4, #1",
|
||||
"orr x20, x20, x21, lsl #4",
|
||||
"ldrb w21, [x28, #712]",
|
||||
"ldrb w21, [x28, #984]",
|
||||
"orr x20, x20, x21, lsl #8",
|
||||
"ldrb w21, [x28, #713]",
|
||||
"ldrb w21, [x28, #985]",
|
||||
"orr x20, x20, x21, lsl #9",
|
||||
"ldrsb x21, [x28, #714]",
|
||||
"ldrsb x21, [x28, #986]",
|
||||
"lsr x21, x21, #63",
|
||||
"orr x20, x20, x21, lsl #10",
|
||||
"cset w21, vs",
|
||||
"orr x20, x20, x21, lsl #11",
|
||||
"ldrb w21, [x28, #716]",
|
||||
"ldrb w21, [x28, #988]",
|
||||
"orr x20, x20, x21, lsl #12",
|
||||
"ldrb w21, [x28, #718]",
|
||||
"ldrb w21, [x28, #990]",
|
||||
"orr x20, x20, x21, lsl #14",
|
||||
"ldrb w21, [x28, #720]",
|
||||
"ldrb w21, [x28, #992]",
|
||||
"orr x20, x20, x21, lsl #16",
|
||||
"ldrb w21, [x28, #721]",
|
||||
"ldrb w21, [x28, #993]",
|
||||
"orr x20, x20, x21, lsl #17",
|
||||
"ldrb w21, [x28, #722]",
|
||||
"ldrb w21, [x28, #994]",
|
||||
"orr x20, x20, x21, lsl #18",
|
||||
"ldrb w21, [x28, #723]",
|
||||
"ldrb w21, [x28, #995]",
|
||||
"orr x20, x20, x21, lsl #19",
|
||||
"ldrb w21, [x28, #724]",
|
||||
"ldrb w21, [x28, #996]",
|
||||
"orr x20, x20, x21, lsl #20",
|
||||
"ldrb w21, [x28, #725]",
|
||||
"ldrb w21, [x28, #997]",
|
||||
"orr x20, x20, x21, lsl #21",
|
||||
"eor w21, w26, w26, lsr #4",
|
||||
"eor w21, w21, w21, lsr #2",
|
||||
@ -2625,30 +2625,30 @@
|
||||
"ubfx x21, x27, #7, #1",
|
||||
"orr w20, w20, w21, lsl #31",
|
||||
"ubfx w21, w27, #8, #1",
|
||||
"strb w21, [x28, #712]",
|
||||
"strb w21, [x28, #984]",
|
||||
"ubfx w21, w27, #9, #1",
|
||||
"strb w21, [x28, #713]",
|
||||
"strb w21, [x28, #985]",
|
||||
"ubfx w21, w27, #10, #1",
|
||||
"sub x21, x22, x21, lsl #1",
|
||||
"strb w21, [x28, #714]",
|
||||
"strb w21, [x28, #986]",
|
||||
"ubfx x21, x27, #11, #1",
|
||||
"orr w20, w20, w21, lsl #28",
|
||||
"ubfx w21, w27, #12, #1",
|
||||
"strb w21, [x28, #716]",
|
||||
"strb w21, [x28, #988]",
|
||||
"ubfx w21, w27, #14, #1",
|
||||
"strb w21, [x28, #718]",
|
||||
"strb w21, [x28, #990]",
|
||||
"ubfx w21, w27, #16, #1",
|
||||
"strb w21, [x28, #720]",
|
||||
"strb w21, [x28, #992]",
|
||||
"ubfx w21, w27, #17, #1",
|
||||
"strb w21, [x28, #721]",
|
||||
"strb w21, [x28, #993]",
|
||||
"ubfx w21, w27, #18, #1",
|
||||
"strb w21, [x28, #722]",
|
||||
"strb w21, [x28, #994]",
|
||||
"ubfx w21, w27, #19, #1",
|
||||
"strb w21, [x28, #723]",
|
||||
"strb w21, [x28, #995]",
|
||||
"ubfx w21, w27, #20, #1",
|
||||
"strb w21, [x28, #724]",
|
||||
"strb w21, [x28, #996]",
|
||||
"ubfx w21, w27, #21, #1",
|
||||
"strb w21, [x28, #725]",
|
||||
"strb w21, [x28, #997]",
|
||||
"msr nzcv, x20"
|
||||
]
|
||||
},
|
||||
@ -2753,7 +2753,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrb w20, [x10]",
|
||||
"strb w20, [x11]",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"add x10, x10, x20",
|
||||
"add x11, x11, x20"
|
||||
]
|
||||
@ -2766,7 +2766,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x10]",
|
||||
"strh w20, [x11]",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsl x20, x20, #1",
|
||||
"add x10, x10, x20",
|
||||
"add x11, x11, x20"
|
||||
@ -2780,7 +2780,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr w20, [x10]",
|
||||
"str w20, [x11]",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsl x20, x20, #2",
|
||||
"add x10, x10, x20",
|
||||
"add x11, x11, x20"
|
||||
@ -2794,7 +2794,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x20, [x10]",
|
||||
"str x20, [x11]",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsl x20, x20, #3",
|
||||
"add x10, x10, x20",
|
||||
"add x11, x11, x20"
|
||||
@ -2804,7 +2804,7 @@
|
||||
"ExpectedInstructionCount": 83,
|
||||
"Comment": "0xa4",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
"mov x2, x10",
|
||||
@ -2893,7 +2893,7 @@
|
||||
"ExpectedInstructionCount": 83,
|
||||
"Comment": "0xa5",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
"mov x2, x10",
|
||||
@ -2982,7 +2982,7 @@
|
||||
"ExpectedInstructionCount": 83,
|
||||
"Comment": "0xa5",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
"mov x2, x10",
|
||||
@ -3071,7 +3071,7 @@
|
||||
"ExpectedInstructionCount": 83,
|
||||
"Comment": "0xa5",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
"mov x2, x10",
|
||||
@ -3164,7 +3164,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrb w20, [x11]",
|
||||
"ldrb w21, [x10]",
|
||||
"ldrsb x22, [x28, #714]",
|
||||
"ldrsb x22, [x28, #986]",
|
||||
"add x11, x11, x22",
|
||||
"add x10, x10, x22",
|
||||
"eor w27, w21, w20",
|
||||
@ -3184,7 +3184,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x11]",
|
||||
"ldrh w21, [x10]",
|
||||
"ldrsb x22, [x28, #714]",
|
||||
"ldrsb x22, [x28, #986]",
|
||||
"lsl x22, x22, #1",
|
||||
"add x11, x11, x22",
|
||||
"add x10, x10, x22",
|
||||
@ -3205,7 +3205,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr w20, [x11]",
|
||||
"ldr w21, [x10]",
|
||||
"ldrsb x22, [x28, #714]",
|
||||
"ldrsb x22, [x28, #986]",
|
||||
"lsl x22, x22, #2",
|
||||
"add x11, x11, x22",
|
||||
"add x10, x10, x22",
|
||||
@ -3224,7 +3224,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x20, [x11]",
|
||||
"ldr x21, [x10]",
|
||||
"ldrsb x22, [x28, #714]",
|
||||
"ldrsb x22, [x28, #986]",
|
||||
"lsl x22, x22, #3",
|
||||
"add x11, x11, x22",
|
||||
"add x10, x10, x22",
|
||||
@ -3240,7 +3240,7 @@
|
||||
"Comment": "0xa6",
|
||||
"ExpectedArm64ASM": [
|
||||
"cbz x5, #+0x74",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x24",
|
||||
@ -3275,7 +3275,7 @@
|
||||
"Comment": "0xa7",
|
||||
"ExpectedArm64ASM": [
|
||||
"cbz x5, #+0x74",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x24",
|
||||
@ -3310,7 +3310,7 @@
|
||||
"Comment": "0xa7",
|
||||
"ExpectedArm64ASM": [
|
||||
"cbz x5, #+0x6c",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x24",
|
||||
@ -3343,7 +3343,7 @@
|
||||
"Comment": "0xa7",
|
||||
"ExpectedArm64ASM": [
|
||||
"cbz x5, #+0x6c",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x24",
|
||||
@ -3376,7 +3376,7 @@
|
||||
"Comment": "0xa6",
|
||||
"ExpectedArm64ASM": [
|
||||
"cbz x5, #+0x74",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x24",
|
||||
@ -3411,7 +3411,7 @@
|
||||
"Comment": "0xa7",
|
||||
"ExpectedArm64ASM": [
|
||||
"cbz x5, #+0x74",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x24",
|
||||
@ -3446,7 +3446,7 @@
|
||||
"Comment": "0xa7",
|
||||
"ExpectedArm64ASM": [
|
||||
"cbz x5, #+0x6c",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x24",
|
||||
@ -3479,7 +3479,7 @@
|
||||
"Comment": "0xa7",
|
||||
"ExpectedArm64ASM": [
|
||||
"cbz x5, #+0x6c",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x24",
|
||||
@ -3572,7 +3572,7 @@
|
||||
"Comment": "0xaa",
|
||||
"ExpectedArm64ASM": [
|
||||
"strb w4, [x11]",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"add x11, x11, x20"
|
||||
]
|
||||
},
|
||||
@ -3581,7 +3581,7 @@
|
||||
"Comment": "0xab",
|
||||
"ExpectedArm64ASM": [
|
||||
"strh w4, [x11]",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"add x11, x11, x20, lsl #1"
|
||||
]
|
||||
},
|
||||
@ -3590,7 +3590,7 @@
|
||||
"Comment": "0xab",
|
||||
"ExpectedArm64ASM": [
|
||||
"str w4, [x11]",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"add x11, x11, x20, lsl #2"
|
||||
]
|
||||
},
|
||||
@ -3599,7 +3599,7 @@
|
||||
"Comment": "0xab",
|
||||
"ExpectedArm64ASM": [
|
||||
"str x4, [x11]",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"add x11, x11, x20, lsl #3"
|
||||
]
|
||||
},
|
||||
@ -3608,7 +3608,7 @@
|
||||
"Comment": "0xaa",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxtb w20, w4",
|
||||
"ldrsb x21, [x28, #714]",
|
||||
"ldrsb x21, [x28, #986]",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
"tbnz w21, #1, #+0x64",
|
||||
@ -3669,7 +3669,7 @@
|
||||
"Comment": "0xab",
|
||||
"ExpectedArm64ASM": [
|
||||
"uxth w20, w4",
|
||||
"ldrsb x21, [x28, #714]",
|
||||
"ldrsb x21, [x28, #986]",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
"tbnz w21, #1, #+0x64",
|
||||
@ -3730,7 +3730,7 @@
|
||||
"Comment": "0xab",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w4",
|
||||
"ldrsb x21, [x28, #714]",
|
||||
"ldrsb x21, [x28, #986]",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
"tbnz w21, #1, #+0x64",
|
||||
@ -3794,7 +3794,7 @@
|
||||
"0xab"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"mov x0, x5",
|
||||
"mov x1, x11",
|
||||
"tbnz w20, #1, #+0x64",
|
||||
@ -3856,7 +3856,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrb w20, [x10]",
|
||||
"bfxil x4, x20, #0, #8",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"add x10, x10, x20"
|
||||
]
|
||||
},
|
||||
@ -3866,7 +3866,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x10]",
|
||||
"bfxil x4, x20, #0, #16",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"add x10, x10, x20, lsl #1"
|
||||
]
|
||||
},
|
||||
@ -3875,7 +3875,7 @@
|
||||
"Comment": "0xad",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr w4, [x10]",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"add x10, x10, x20, lsl #2"
|
||||
]
|
||||
},
|
||||
@ -3884,7 +3884,7 @@
|
||||
"Comment": "0xad",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x4, [x10]",
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"add x10, x10, x20, lsl #3"
|
||||
]
|
||||
},
|
||||
@ -3892,7 +3892,7 @@
|
||||
"ExpectedInstructionCount": 17,
|
||||
"Comment": "0xac",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x20",
|
||||
@ -3915,7 +3915,7 @@
|
||||
"ExpectedInstructionCount": 17,
|
||||
"Comment": "0xad",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x20",
|
||||
@ -3938,7 +3938,7 @@
|
||||
"ExpectedInstructionCount": 15,
|
||||
"Comment": "0xad",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x1c",
|
||||
@ -3959,7 +3959,7 @@
|
||||
"ExpectedInstructionCount": 15,
|
||||
"Comment": "0xad",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x1c",
|
||||
@ -3981,7 +3981,7 @@
|
||||
"Comment": "0xae",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrb w20, [x11]",
|
||||
"ldrsb x21, [x28, #714]",
|
||||
"ldrsb x21, [x28, #986]",
|
||||
"add x11, x11, x21",
|
||||
"eor w27, w4, w20",
|
||||
"lsl w0, w4, #24",
|
||||
@ -3997,7 +3997,7 @@
|
||||
"Comment": "0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x11]",
|
||||
"ldrsb x21, [x28, #714]",
|
||||
"ldrsb x21, [x28, #986]",
|
||||
"add x11, x11, x21, lsl #1",
|
||||
"eor w27, w4, w20",
|
||||
"lsl w0, w4, #16",
|
||||
@ -4013,7 +4013,7 @@
|
||||
"Comment": "0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr w20, [x11]",
|
||||
"ldrsb x21, [x28, #714]",
|
||||
"ldrsb x21, [x28, #986]",
|
||||
"add x11, x11, x21, lsl #2",
|
||||
"eor w27, w4, w20",
|
||||
"subs w26, w4, w20",
|
||||
@ -4027,7 +4027,7 @@
|
||||
"Comment": "0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x20, [x11]",
|
||||
"ldrsb x21, [x28, #714]",
|
||||
"ldrsb x21, [x28, #986]",
|
||||
"add x11, x11, x21, lsl #3",
|
||||
"eor w27, w4, w20",
|
||||
"subs x26, x4, x20",
|
||||
@ -4040,7 +4040,7 @@
|
||||
"ExpectedInstructionCount": 29,
|
||||
"Comment": "0xae",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x38",
|
||||
@ -4075,7 +4075,7 @@
|
||||
"ExpectedInstructionCount": 29,
|
||||
"Comment": "0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x38",
|
||||
@ -4110,7 +4110,7 @@
|
||||
"ExpectedInstructionCount": 25,
|
||||
"Comment": "0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x30",
|
||||
@ -4141,7 +4141,7 @@
|
||||
"ExpectedInstructionCount": 25,
|
||||
"Comment": "0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x30",
|
||||
@ -4172,7 +4172,7 @@
|
||||
"ExpectedInstructionCount": 29,
|
||||
"Comment": "0xae",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x38",
|
||||
@ -4207,7 +4207,7 @@
|
||||
"ExpectedInstructionCount": 29,
|
||||
"Comment": "0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x38",
|
||||
@ -4242,7 +4242,7 @@
|
||||
"ExpectedInstructionCount": 25,
|
||||
"Comment": "0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x30",
|
||||
@ -4273,7 +4273,7 @@
|
||||
"ExpectedInstructionCount": 25,
|
||||
"Comment": "0xaf",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrsb x20, [x28, #714]",
|
||||
"ldrsb x20, [x28, #986]",
|
||||
"lsr x20, x20, #63",
|
||||
"cbz x20, #+0x8",
|
||||
"b #+0x30",
|
||||
@ -4416,7 +4416,7 @@
|
||||
"Comment": "0xfc",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, #0x1",
|
||||
"strb w20, [x28, #714]"
|
||||
"strb w20, [x28, #986]"
|
||||
]
|
||||
},
|
||||
"std": {
|
||||
@ -4424,7 +4424,7 @@
|
||||
"Comment": "0xfd",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov x20, #0xffffffffffffffff",
|
||||
"strb w20, [x28, #714]"
|
||||
"strb w20, [x28, #986]"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -2702,7 +2702,7 @@
|
||||
"mov x0, x6",
|
||||
"mov x1, x4",
|
||||
"mov x2, x7",
|
||||
"ldr x3, [x28, #2448]",
|
||||
"ldr x3, [x28, #2704]",
|
||||
"str x30, [sp, #-16]!",
|
||||
"blr x3",
|
||||
"ldr x30, [sp], #16",
|
||||
@ -2713,7 +2713,7 @@
|
||||
"mov x0, x6",
|
||||
"mov x1, x4",
|
||||
"mov x2, x7",
|
||||
"ldr x3, [x28, #2464]",
|
||||
"ldr x3, [x28, #2720]",
|
||||
"str x30, [sp, #-16]!",
|
||||
"blr x3",
|
||||
"ldr x30, [sp], #16",
|
||||
@ -2774,7 +2774,7 @@
|
||||
"mov x0, x6",
|
||||
"mov x1, x4",
|
||||
"mov x2, x7",
|
||||
"ldr x3, [x28, #2456]",
|
||||
"ldr x3, [x28, #2712]",
|
||||
"str x30, [sp, #-16]!",
|
||||
"blr x3",
|
||||
"ldr x30, [sp], #16",
|
||||
@ -2787,7 +2787,7 @@
|
||||
"mov x0, x6",
|
||||
"mov x1, x4",
|
||||
"mov x2, x7",
|
||||
"ldr x3, [x28, #2472]",
|
||||
"ldr x3, [x28, #2728]",
|
||||
"str x30, [sp, #-16]!",
|
||||
"blr x3",
|
||||
"ldr x30, [sp], #16",
|
||||
|
@ -15,7 +15,7 @@
|
||||
"ExpectedInstructionCount": 2,
|
||||
"Comment": "0x06",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x28, #144]",
|
||||
"ldrh w20, [x28, #928]",
|
||||
"str w20, [x8, #-4]!"
|
||||
]
|
||||
},
|
||||
@ -25,18 +25,18 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr w20, [x8]",
|
||||
"add x8, x8, #0x4 (4)",
|
||||
"strh w20, [x28, #144]",
|
||||
"strh w20, [x28, #928]",
|
||||
"ubfx w20, w20, #3, #13",
|
||||
"add x0, x28, x20, lsl #2",
|
||||
"ldr w20, [x0, #896]",
|
||||
"str w20, [x28, #160]"
|
||||
"ldr w20, [x0, #1168]",
|
||||
"str w20, [x28, #944]"
|
||||
]
|
||||
},
|
||||
"push cs": {
|
||||
"ExpectedInstructionCount": 2,
|
||||
"Comment": "0x0e",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x28, #146]",
|
||||
"ldrh w20, [x28, #930]",
|
||||
"str w20, [x8, #-4]!"
|
||||
]
|
||||
},
|
||||
@ -44,7 +44,7 @@
|
||||
"ExpectedInstructionCount": 2,
|
||||
"Comment": "0x16",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x28, #148]",
|
||||
"ldrh w20, [x28, #932]",
|
||||
"str w20, [x8, #-4]!"
|
||||
]
|
||||
},
|
||||
@ -54,18 +54,18 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr w20, [x8]",
|
||||
"add x8, x8, #0x4 (4)",
|
||||
"strh w20, [x28, #148]",
|
||||
"strh w20, [x28, #932]",
|
||||
"ubfx w20, w20, #3, #13",
|
||||
"add x0, x28, x20, lsl #2",
|
||||
"ldr w20, [x0, #896]",
|
||||
"str w20, [x28, #168]"
|
||||
"ldr w20, [x0, #1168]",
|
||||
"str w20, [x28, #952]"
|
||||
]
|
||||
},
|
||||
"push ds": {
|
||||
"ExpectedInstructionCount": 2,
|
||||
"Comment": "0x1e",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x28, #150]",
|
||||
"ldrh w20, [x28, #934]",
|
||||
"str w20, [x8, #-4]!"
|
||||
]
|
||||
},
|
||||
@ -75,11 +75,11 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr w20, [x8]",
|
||||
"add x8, x8, #0x4 (4)",
|
||||
"strh w20, [x28, #150]",
|
||||
"strh w20, [x28, #934]",
|
||||
"ubfx w20, w20, #3, #13",
|
||||
"add x0, x28, x20, lsl #2",
|
||||
"ldr w20, [x0, #896]",
|
||||
"str w20, [x28, #172]"
|
||||
"ldr w20, [x0, #1168]",
|
||||
"str w20, [x28, #956]"
|
||||
]
|
||||
},
|
||||
"daa": {
|
||||
|
@ -17,9 +17,9 @@
|
||||
"0x0f 0x0f 0x86"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"frecpe v2.2s, v2.2s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfrsqrtv mm0, mm1": {
|
||||
@ -28,9 +28,9 @@
|
||||
"0x0f 0x0f 0x87"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"frsqrte v2.2s, v2.2s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfrcp mm0, mm1": {
|
||||
@ -39,10 +39,10 @@
|
||||
"0x0f 0x0f 0x96"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"frecpe s2, s2",
|
||||
"dup v2.2s, v2.s[0]",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pfrsqrt mm0, mm1": {
|
||||
@ -51,10 +51,10 @@
|
||||
"0x0f 0x0f 0x97"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #784]",
|
||||
"ldr d2, [x28, #1056]",
|
||||
"frsqrte s2, s2",
|
||||
"dup v2.2s, v2.s[0]",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -44,11 +44,11 @@
|
||||
"mov x0, x4",
|
||||
"mov x1, x6",
|
||||
"mrs x2, nzcv",
|
||||
"str w2, [x28, #728]",
|
||||
"stp x4, x5, [x28, #16]",
|
||||
"stp x6, x7, [x28, #32]",
|
||||
"str x8, [x28, #48]",
|
||||
"stp x16, x17, [x28, #112]",
|
||||
"str w2, [x28, #1000]",
|
||||
"stp x4, x5, [x28, #280]",
|
||||
"stp x6, x7, [x28, #296]",
|
||||
"str x8, [x28, #312]",
|
||||
"stp x16, x17, [x28, #376]",
|
||||
"sub sp, sp, #0x70 (112)",
|
||||
"mov x2, sp",
|
||||
"st1 {v2.2d, v3.2d}, [x2], #32",
|
||||
@ -59,14 +59,14 @@
|
||||
"mov x4, v17.d[0]",
|
||||
"mov x5, v17.d[1]",
|
||||
"mov w6, #0x0",
|
||||
"ldr x7, [x28, #1552]",
|
||||
"ldr x7, [x28, #1808]",
|
||||
"blr x7",
|
||||
"ldr w4, [x28, #728]",
|
||||
"ldr w4, [x28, #1000]",
|
||||
"msr nzcv, x4",
|
||||
"ldp x4, x5, [x28, #16]",
|
||||
"ldp x6, x7, [x28, #32]",
|
||||
"ldr x8, [x28, #48]",
|
||||
"ldp x16, x17, [x28, #112]",
|
||||
"ldp x4, x5, [x28, #280]",
|
||||
"ldp x6, x7, [x28, #296]",
|
||||
"ldr x8, [x28, #312]",
|
||||
"ldp x16, x17, [x28, #376]",
|
||||
"ld1 {v2.2d, v3.2d}, [sp], #32",
|
||||
"ld1 {v4.2d, v5.2d, v6.2d, v7.2d}, [sp], #64",
|
||||
"ldr x30, [sp], #16",
|
||||
@ -87,11 +87,11 @@
|
||||
"mov x0, x4",
|
||||
"mov x1, x6",
|
||||
"mrs x2, nzcv",
|
||||
"str w2, [x28, #728]",
|
||||
"stp x4, x5, [x28, #16]",
|
||||
"stp x6, x7, [x28, #32]",
|
||||
"str x8, [x28, #48]",
|
||||
"stp x16, x17, [x28, #112]",
|
||||
"str w2, [x28, #1000]",
|
||||
"stp x4, x5, [x28, #280]",
|
||||
"stp x6, x7, [x28, #296]",
|
||||
"str x8, [x28, #312]",
|
||||
"stp x16, x17, [x28, #376]",
|
||||
"sub sp, sp, #0x70 (112)",
|
||||
"mov x2, sp",
|
||||
"st1 {v2.2d, v3.2d}, [x2], #32",
|
||||
@ -102,14 +102,14 @@
|
||||
"mov x4, v17.d[0]",
|
||||
"mov x5, v17.d[1]",
|
||||
"mov w6, #0x0",
|
||||
"ldr x7, [x28, #1552]",
|
||||
"ldr x7, [x28, #1808]",
|
||||
"blr x7",
|
||||
"ldr w4, [x28, #728]",
|
||||
"ldr w4, [x28, #1000]",
|
||||
"msr nzcv, x4",
|
||||
"ldp x4, x5, [x28, #16]",
|
||||
"ldp x6, x7, [x28, #32]",
|
||||
"ldr x8, [x28, #48]",
|
||||
"ldp x16, x17, [x28, #112]",
|
||||
"ldp x4, x5, [x28, #280]",
|
||||
"ldp x6, x7, [x28, #296]",
|
||||
"ldr x8, [x28, #312]",
|
||||
"ldp x16, x17, [x28, #376]",
|
||||
"ld1 {v2.2d, v3.2d}, [sp], #32",
|
||||
"ld1 {v4.2d, v5.2d, v6.2d, v7.2d}, [sp], #64",
|
||||
"ldr x30, [sp], #16",
|
||||
@ -135,11 +135,11 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"mrs x0, nzcv",
|
||||
"str w0, [x28, #728]",
|
||||
"stp x4, x5, [x28, #16]",
|
||||
"stp x6, x7, [x28, #32]",
|
||||
"str x8, [x28, #48]",
|
||||
"stp x16, x17, [x28, #112]",
|
||||
"str w0, [x28, #1000]",
|
||||
"stp x4, x5, [x28, #280]",
|
||||
"stp x6, x7, [x28, #296]",
|
||||
"str x8, [x28, #312]",
|
||||
"stp x16, x17, [x28, #376]",
|
||||
"sub sp, sp, #0x70 (112)",
|
||||
"mov x0, sp",
|
||||
"st1 {v2.2d, v3.2d}, [x0], #32",
|
||||
@ -150,14 +150,14 @@
|
||||
"mov x2, v17.d[0]",
|
||||
"mov x3, v17.d[1]",
|
||||
"mov w4, #0x0",
|
||||
"ldr x5, [x28, #1560]",
|
||||
"ldr x5, [x28, #1816]",
|
||||
"blr x5",
|
||||
"ldr w4, [x28, #728]",
|
||||
"ldr w4, [x28, #1000]",
|
||||
"msr nzcv, x4",
|
||||
"ldp x4, x5, [x28, #16]",
|
||||
"ldp x6, x7, [x28, #32]",
|
||||
"ldr x8, [x28, #48]",
|
||||
"ldp x16, x17, [x28, #112]",
|
||||
"ldp x4, x5, [x28, #280]",
|
||||
"ldp x6, x7, [x28, #296]",
|
||||
"ldr x8, [x28, #312]",
|
||||
"ldp x16, x17, [x28, #376]",
|
||||
"ld1 {v2.2d, v3.2d}, [sp], #32",
|
||||
"ld1 {v4.2d, v5.2d, v6.2d, v7.2d}, [sp], #64",
|
||||
"ldr x30, [sp], #16",
|
||||
@ -176,11 +176,11 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"mrs x0, nzcv",
|
||||
"str w0, [x28, #728]",
|
||||
"stp x4, x5, [x28, #16]",
|
||||
"stp x6, x7, [x28, #32]",
|
||||
"str x8, [x28, #48]",
|
||||
"stp x16, x17, [x28, #112]",
|
||||
"str w0, [x28, #1000]",
|
||||
"stp x4, x5, [x28, #280]",
|
||||
"stp x6, x7, [x28, #296]",
|
||||
"str x8, [x28, #312]",
|
||||
"stp x16, x17, [x28, #376]",
|
||||
"sub sp, sp, #0x70 (112)",
|
||||
"mov x0, sp",
|
||||
"st1 {v2.2d, v3.2d}, [x0], #32",
|
||||
@ -191,14 +191,14 @@
|
||||
"mov x2, v17.d[0]",
|
||||
"mov x3, v17.d[1]",
|
||||
"mov w4, #0x0",
|
||||
"ldr x5, [x28, #1560]",
|
||||
"ldr x5, [x28, #1816]",
|
||||
"blr x5",
|
||||
"ldr w4, [x28, #728]",
|
||||
"ldr w4, [x28, #1000]",
|
||||
"msr nzcv, x4",
|
||||
"ldp x4, x5, [x28, #16]",
|
||||
"ldp x6, x7, [x28, #32]",
|
||||
"ldr x8, [x28, #48]",
|
||||
"ldp x16, x17, [x28, #112]",
|
||||
"ldp x4, x5, [x28, #280]",
|
||||
"ldp x6, x7, [x28, #296]",
|
||||
"ldr x8, [x28, #312]",
|
||||
"ldp x16, x17, [x28, #376]",
|
||||
"ld1 {v2.2d, v3.2d}, [sp], #32",
|
||||
"ld1 {v4.2d, v5.2d, v6.2d, v7.2d}, [sp], #64",
|
||||
"ldr x30, [sp], #16",
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -919,10 +919,10 @@
|
||||
"Comment": "GROUP9 0xF3 0x0F 0xC7 /7",
|
||||
"ExpectedArm64ASM": [
|
||||
"mrs x0, nzcv",
|
||||
"str w0, [x28, #728]",
|
||||
"str x8, [x28, #48]",
|
||||
"str w0, [x28, #1000]",
|
||||
"str x8, [x28, #312]",
|
||||
"mov w0, #0x100",
|
||||
"str x0, [x28, #1048]",
|
||||
"str x0, [x28, #1312]",
|
||||
"sub sp, sp, #0x10 (16)",
|
||||
"mov w8, #0xa8",
|
||||
"mov x0, sp",
|
||||
@ -930,10 +930,10 @@
|
||||
"svc #0x0",
|
||||
"ldp w0, w1, [sp]",
|
||||
"sub sp, sp, #0x10 (16)",
|
||||
"ldr w8, [x28, #728]",
|
||||
"ldr w8, [x28, #1000]",
|
||||
"msr nzcv, x8",
|
||||
"ldr x8, [x28, #48]",
|
||||
"str xzr, [x28, #1048]",
|
||||
"ldr x8, [x28, #312]",
|
||||
"str xzr, [x28, #1312]",
|
||||
"orr x20, x0, x1, lsl #12",
|
||||
"mov w4, w20"
|
||||
]
|
||||
@ -943,10 +943,10 @@
|
||||
"Comment": "GROUP9 0xF3 0x0F 0xC7 /7",
|
||||
"ExpectedArm64ASM": [
|
||||
"mrs x0, nzcv",
|
||||
"str w0, [x28, #728]",
|
||||
"str x8, [x28, #48]",
|
||||
"str w0, [x28, #1000]",
|
||||
"str x8, [x28, #312]",
|
||||
"mov w0, #0x100",
|
||||
"str x0, [x28, #1048]",
|
||||
"str x0, [x28, #1312]",
|
||||
"sub sp, sp, #0x10 (16)",
|
||||
"mov w8, #0xa8",
|
||||
"mov x0, sp",
|
||||
@ -954,10 +954,10 @@
|
||||
"svc #0x0",
|
||||
"ldp w0, w1, [sp]",
|
||||
"sub sp, sp, #0x10 (16)",
|
||||
"ldr w8, [x28, #728]",
|
||||
"ldr w8, [x28, #1000]",
|
||||
"msr nzcv, x8",
|
||||
"ldr x8, [x28, #48]",
|
||||
"str xzr, [x28, #1048]",
|
||||
"ldr x8, [x28, #312]",
|
||||
"str xzr, [x28, #1312]",
|
||||
"orr x20, x0, x1, lsl #12",
|
||||
"mov w4, w20"
|
||||
]
|
||||
@ -973,9 +973,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP12 0x0F 0xC7 /2",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ushr v2.8h, v2.8h, #15",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psrlw mm0, 16": {
|
||||
@ -983,9 +983,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP12 0x0F 0xC7 /2",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"movi v2.2d, #0x0",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psrlw xmm0, 0": {
|
||||
@ -1021,9 +1021,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP12 0x0F 0xC7 /3",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"sshr v2.8h, v2.8h, #15",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psraw mm0, 16": {
|
||||
@ -1031,9 +1031,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP12 0x0F 0xC7 /3",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"sshr v2.8h, v2.8h, #15",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psraw xmm0, 0": {
|
||||
@ -1069,9 +1069,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP12 0x0F 0xC7 /6",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"shl v2.8h, v2.8h, #15",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psllw mm0, 16": {
|
||||
@ -1079,9 +1079,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP12 0x0F 0xC7 /6",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"movi v2.2d, #0x0",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psllw xmm0, 0": {
|
||||
@ -1117,9 +1117,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP13 0x0F 0xC7 /2",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ushr v2.4s, v2.4s, #31",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psrld mm0, 32": {
|
||||
@ -1127,9 +1127,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP13 0x0F 0xC7 /2",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"movi v2.2d, #0x0",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psrld xmm0, 0": {
|
||||
@ -1165,9 +1165,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP13 0x0F 0xC7 /3",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"sshr v2.4s, v2.4s, #31",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psrad mm0, 32": {
|
||||
@ -1175,9 +1175,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP13 0x0F 0xC7 /3",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"sshr v2.4s, v2.4s, #31",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psrad xmm0, 0": {
|
||||
@ -1213,9 +1213,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP13 0x0F 0xC7 /6",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"shl v2.4s, v2.4s, #31",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pslld mm0, 32": {
|
||||
@ -1223,9 +1223,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP13 0x0F 0xC7 /6",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"movi v2.2d, #0x0",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pslld xmm0, 0": {
|
||||
@ -1261,9 +1261,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP14 0x0F 0xC7 /2",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ushr v2.2d, v2.2d, #63",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psrlq mm0, 64": {
|
||||
@ -1271,9 +1271,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP14 0x0F 0xC7 /2",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"movi v2.2d, #0x0",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psrlq xmm0, 0": {
|
||||
@ -1332,9 +1332,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP14 0x0F 0xC7 /6",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"shl v2.2d, v2.2d, #63",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psllq mm0, 64": {
|
||||
@ -1342,9 +1342,9 @@
|
||||
"Type": "MMX",
|
||||
"Comment": "GROUP14 0x0F 0xC7 /6",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"movi v2.2d, #0x0",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psllq xmm0, 0": {
|
||||
@ -1373,37 +1373,37 @@
|
||||
"ExpectedInstructionCount": 57,
|
||||
"Comment": "GROUP15 0x0F 0xAE /0",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x28, #1024]",
|
||||
"ldrh w20, [x28, #1296]",
|
||||
"strh w20, [x4]",
|
||||
"mov w20, #0x0",
|
||||
"ldrb w21, [x28, #747]",
|
||||
"ldrb w21, [x28, #1019]",
|
||||
"bfi x20, x21, #11, #3",
|
||||
"ldrb w21, [x28, #744]",
|
||||
"ldrb w22, [x28, #745]",
|
||||
"ldrb w23, [x28, #746]",
|
||||
"ldrb w24, [x28, #750]",
|
||||
"ldrb w21, [x28, #1016]",
|
||||
"ldrb w22, [x28, #1017]",
|
||||
"ldrb w23, [x28, #1018]",
|
||||
"ldrb w24, [x28, #1022]",
|
||||
"orr x20, x20, x21, lsl #8",
|
||||
"orr x20, x20, x22, lsl #9",
|
||||
"orr x20, x20, x23, lsl #10",
|
||||
"orr x20, x20, x24, lsl #14",
|
||||
"strh w20, [x4, #2]",
|
||||
"ldrb w20, [x28, #1026]",
|
||||
"ldrb w20, [x28, #1298]",
|
||||
"strb w20, [x4, #4]",
|
||||
"ldr q2, [x28, #768]",
|
||||
"ldr q2, [x28, #1040]",
|
||||
"str q2, [x4, #32]",
|
||||
"ldr q2, [x28, #784]",
|
||||
"ldr q2, [x28, #1056]",
|
||||
"str q2, [x4, #48]",
|
||||
"ldr q2, [x28, #800]",
|
||||
"ldr q2, [x28, #1072]",
|
||||
"str q2, [x4, #64]",
|
||||
"ldr q2, [x28, #816]",
|
||||
"ldr q2, [x28, #1088]",
|
||||
"str q2, [x4, #80]",
|
||||
"ldr q2, [x28, #832]",
|
||||
"ldr q2, [x28, #1104]",
|
||||
"str q2, [x4, #96]",
|
||||
"ldr q2, [x28, #848]",
|
||||
"ldr q2, [x28, #1120]",
|
||||
"str q2, [x4, #112]",
|
||||
"ldr q2, [x28, #864]",
|
||||
"ldr q2, [x28, #1136]",
|
||||
"str q2, [x4, #128]",
|
||||
"ldr q2, [x28, #880]",
|
||||
"ldr q2, [x28, #1152]",
|
||||
"str q2, [x4, #144]",
|
||||
"str q16, [x4, #160]",
|
||||
"str q17, [x4, #176]",
|
||||
@ -1436,14 +1436,14 @@
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "GROUP15 0x0F 0xAE /0",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr w4, [x28, #184]"
|
||||
"ldr w4, [x28, #968]"
|
||||
]
|
||||
},
|
||||
"rdfsbase rax": {
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "GROUP15 0x0F 0xAE /0",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x4, [x28, #184]"
|
||||
"ldr x4, [x28, #968]"
|
||||
]
|
||||
},
|
||||
"fxrstor [rax]": {
|
||||
@ -1451,36 +1451,36 @@
|
||||
"Comment": "GROUP15 0x0F 0xAE /1",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x4]",
|
||||
"strh w20, [x28, #1024]",
|
||||
"strh w20, [x28, #1296]",
|
||||
"ldrh w20, [x4, #2]",
|
||||
"ubfx w21, w20, #11, #3",
|
||||
"strb w21, [x28, #747]",
|
||||
"strb w21, [x28, #1019]",
|
||||
"ubfx w21, w20, #8, #1",
|
||||
"ubfx w22, w20, #9, #1",
|
||||
"ubfx w23, w20, #10, #1",
|
||||
"ubfx w20, w20, #14, #1",
|
||||
"strb w21, [x28, #744]",
|
||||
"strb w22, [x28, #745]",
|
||||
"strb w23, [x28, #746]",
|
||||
"strb w20, [x28, #750]",
|
||||
"strb w21, [x28, #1016]",
|
||||
"strb w22, [x28, #1017]",
|
||||
"strb w23, [x28, #1018]",
|
||||
"strb w20, [x28, #1022]",
|
||||
"ldrb w20, [x4, #4]",
|
||||
"strb w20, [x28, #1026]",
|
||||
"strb w20, [x28, #1298]",
|
||||
"ldr q2, [x4, #32]",
|
||||
"str q2, [x28, #768]",
|
||||
"str q2, [x28, #1040]",
|
||||
"ldr q2, [x4, #48]",
|
||||
"str q2, [x28, #784]",
|
||||
"str q2, [x28, #1056]",
|
||||
"ldr q2, [x4, #64]",
|
||||
"str q2, [x28, #800]",
|
||||
"str q2, [x28, #1072]",
|
||||
"ldr q2, [x4, #80]",
|
||||
"str q2, [x28, #816]",
|
||||
"str q2, [x28, #1088]",
|
||||
"ldr q2, [x4, #96]",
|
||||
"str q2, [x28, #832]",
|
||||
"str q2, [x28, #1104]",
|
||||
"ldr q2, [x4, #112]",
|
||||
"str q2, [x28, #848]",
|
||||
"str q2, [x28, #1120]",
|
||||
"ldr q2, [x4, #128]",
|
||||
"str q2, [x28, #864]",
|
||||
"str q2, [x28, #1136]",
|
||||
"ldr q2, [x4, #144]",
|
||||
"str q2, [x28, #880]",
|
||||
"str q2, [x28, #1152]",
|
||||
"ldr q16, [x4, #160]",
|
||||
"ldr q17, [x4, #176]",
|
||||
"ldr q18, [x4, #192]",
|
||||
@ -1512,14 +1512,14 @@
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "GROUP15 0x0F 0xAE /1",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr w4, [x28, #176]"
|
||||
"ldr w4, [x28, #960]"
|
||||
]
|
||||
},
|
||||
"rdgsbase rax": {
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "GROUP15 0x0F 0xAE /1",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x4, [x28, #176]"
|
||||
"ldr x4, [x28, #960]"
|
||||
]
|
||||
},
|
||||
"ldmxcsr [rax]": {
|
||||
@ -1542,14 +1542,14 @@
|
||||
"Comment": "GROUP15 0x0F 0xAE /2",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w4",
|
||||
"str x20, [x28, #184]"
|
||||
"str x20, [x28, #968]"
|
||||
]
|
||||
},
|
||||
"wrfsbase rax": {
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "GROUP15 0x0F 0xAE /2",
|
||||
"ExpectedArm64ASM": [
|
||||
"str x4, [x28, #184]"
|
||||
"str x4, [x28, #968]"
|
||||
]
|
||||
},
|
||||
"stmxcsr [rax]": {
|
||||
@ -1570,14 +1570,14 @@
|
||||
"Comment": "GROUP15 0x0F 0xAE /3",
|
||||
"ExpectedArm64ASM": [
|
||||
"mov w20, w4",
|
||||
"str x20, [x28, #176]"
|
||||
"str x20, [x28, #960]"
|
||||
]
|
||||
},
|
||||
"wrgsbase rax": {
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "GROUP15 0x0F 0xAE /3",
|
||||
"ExpectedArm64ASM": [
|
||||
"str x4, [x28, #176]"
|
||||
"str x4, [x28, #960]"
|
||||
]
|
||||
},
|
||||
"xsave [rax]": {
|
||||
@ -1587,37 +1587,37 @@
|
||||
"ubfx x20, x4, #0, #1",
|
||||
"cbnz x20, #+0x8",
|
||||
"b #+0x84",
|
||||
"ldrh w20, [x28, #1024]",
|
||||
"ldrh w20, [x28, #1296]",
|
||||
"strh w20, [x4]",
|
||||
"mov w20, #0x0",
|
||||
"ldrb w21, [x28, #747]",
|
||||
"ldrb w21, [x28, #1019]",
|
||||
"bfi x20, x21, #11, #3",
|
||||
"ldrb w21, [x28, #744]",
|
||||
"ldrb w22, [x28, #745]",
|
||||
"ldrb w23, [x28, #746]",
|
||||
"ldrb w24, [x28, #750]",
|
||||
"ldrb w21, [x28, #1016]",
|
||||
"ldrb w22, [x28, #1017]",
|
||||
"ldrb w23, [x28, #1018]",
|
||||
"ldrb w24, [x28, #1022]",
|
||||
"orr x20, x20, x21, lsl #8",
|
||||
"orr x20, x20, x22, lsl #9",
|
||||
"orr x20, x20, x23, lsl #10",
|
||||
"orr x20, x20, x24, lsl #14",
|
||||
"strh w20, [x4, #2]",
|
||||
"ldrb w20, [x28, #1026]",
|
||||
"ldrb w20, [x28, #1298]",
|
||||
"strb w20, [x4, #4]",
|
||||
"ldr q2, [x28, #768]",
|
||||
"ldr q2, [x28, #1040]",
|
||||
"str q2, [x4, #32]",
|
||||
"ldr q2, [x28, #784]",
|
||||
"ldr q2, [x28, #1056]",
|
||||
"str q2, [x4, #48]",
|
||||
"ldr q2, [x28, #800]",
|
||||
"ldr q2, [x28, #1072]",
|
||||
"str q2, [x4, #64]",
|
||||
"ldr q2, [x28, #816]",
|
||||
"ldr q2, [x28, #1088]",
|
||||
"str q2, [x4, #80]",
|
||||
"ldr q2, [x28, #832]",
|
||||
"ldr q2, [x28, #1104]",
|
||||
"str q2, [x4, #96]",
|
||||
"ldr q2, [x28, #848]",
|
||||
"ldr q2, [x28, #1120]",
|
||||
"str q2, [x4, #112]",
|
||||
"ldr q2, [x28, #864]",
|
||||
"ldr q2, [x28, #1136]",
|
||||
"str q2, [x4, #128]",
|
||||
"ldr q2, [x28, #880]",
|
||||
"ldr q2, [x28, #1152]",
|
||||
"str q2, [x4, #144]",
|
||||
"ubfx x20, x4, #1, #1",
|
||||
"cbnz x20, #+0x8",
|
||||
@ -1670,55 +1670,55 @@
|
||||
"cbnz x20, #+0x8",
|
||||
"b #+0x84",
|
||||
"ldrh w20, [x4]",
|
||||
"strh w20, [x28, #1024]",
|
||||
"strh w20, [x28, #1296]",
|
||||
"ldrh w20, [x4, #2]",
|
||||
"ubfx w21, w20, #11, #3",
|
||||
"strb w21, [x28, #747]",
|
||||
"strb w21, [x28, #1019]",
|
||||
"ubfx w21, w20, #8, #1",
|
||||
"ubfx w22, w20, #9, #1",
|
||||
"ubfx w23, w20, #10, #1",
|
||||
"ubfx w20, w20, #14, #1",
|
||||
"strb w21, [x28, #744]",
|
||||
"strb w22, [x28, #745]",
|
||||
"strb w23, [x28, #746]",
|
||||
"strb w20, [x28, #750]",
|
||||
"strb w21, [x28, #1016]",
|
||||
"strb w22, [x28, #1017]",
|
||||
"strb w23, [x28, #1018]",
|
||||
"strb w20, [x28, #1022]",
|
||||
"ldrb w20, [x4, #4]",
|
||||
"strb w20, [x28, #1026]",
|
||||
"strb w20, [x28, #1298]",
|
||||
"ldr q2, [x4, #32]",
|
||||
"str q2, [x28, #768]",
|
||||
"str q2, [x28, #1040]",
|
||||
"ldr q2, [x4, #48]",
|
||||
"str q2, [x28, #784]",
|
||||
"str q2, [x28, #1056]",
|
||||
"ldr q2, [x4, #64]",
|
||||
"str q2, [x28, #800]",
|
||||
"str q2, [x28, #1072]",
|
||||
"ldr q2, [x4, #80]",
|
||||
"str q2, [x28, #816]",
|
||||
"str q2, [x28, #1088]",
|
||||
"ldr q2, [x4, #96]",
|
||||
"str q2, [x28, #832]",
|
||||
"str q2, [x28, #1104]",
|
||||
"ldr q2, [x4, #112]",
|
||||
"str q2, [x28, #848]",
|
||||
"str q2, [x28, #1120]",
|
||||
"ldr q2, [x4, #128]",
|
||||
"str q2, [x28, #864]",
|
||||
"str q2, [x28, #1136]",
|
||||
"ldr q2, [x4, #144]",
|
||||
"str q2, [x28, #880]",
|
||||
"str q2, [x28, #1152]",
|
||||
"b #+0x4c",
|
||||
"mov w20, #0x0",
|
||||
"mov w21, #0x37f",
|
||||
"strh w21, [x28, #1024]",
|
||||
"strb w20, [x28, #747]",
|
||||
"strb w20, [x28, #744]",
|
||||
"strb w20, [x28, #745]",
|
||||
"strb w20, [x28, #746]",
|
||||
"strb w20, [x28, #750]",
|
||||
"strb w20, [x28, #1026]",
|
||||
"strh w21, [x28, #1296]",
|
||||
"strb w20, [x28, #1019]",
|
||||
"strb w20, [x28, #1016]",
|
||||
"strb w20, [x28, #1017]",
|
||||
"strb w20, [x28, #1018]",
|
||||
"strb w20, [x28, #1022]",
|
||||
"strb w20, [x28, #1298]",
|
||||
"movi v2.2d, #0x0",
|
||||
"str q2, [x28, #768]",
|
||||
"str q2, [x28, #784]",
|
||||
"str q2, [x28, #800]",
|
||||
"str q2, [x28, #816]",
|
||||
"str q2, [x28, #832]",
|
||||
"str q2, [x28, #848]",
|
||||
"str q2, [x28, #864]",
|
||||
"str q2, [x28, #880]",
|
||||
"str q2, [x28, #1040]",
|
||||
"str q2, [x28, #1056]",
|
||||
"str q2, [x28, #1072]",
|
||||
"str q2, [x28, #1088]",
|
||||
"str q2, [x28, #1104]",
|
||||
"str q2, [x28, #1120]",
|
||||
"str q2, [x28, #1136]",
|
||||
"str q2, [x28, #1152]",
|
||||
"ldr x20, [x4, #512]",
|
||||
"ubfx x20, x20, #1, #1",
|
||||
"cbnz x20, #+0x8",
|
||||
|
@ -25,43 +25,43 @@
|
||||
"st1 {v12.2d, v13.2d, v14.2d, v15.2d}, [x3], #64",
|
||||
"str x30, [x3]",
|
||||
"mrs x3, nzcv",
|
||||
"str w3, [x28, #728]",
|
||||
"stp x4, x5, [x28, #16]",
|
||||
"stp x6, x7, [x28, #32]",
|
||||
"stp x8, x9, [x28, #48]",
|
||||
"stp x10, x11, [x28, #64]",
|
||||
"stp x12, x13, [x28, #80]",
|
||||
"stp x14, x15, [x28, #96]",
|
||||
"stp x16, x17, [x28, #112]",
|
||||
"stp x19, x29, [x28, #128]",
|
||||
"str x26, [x28, #752]",
|
||||
"str x27, [x28, #760]",
|
||||
"add x3, x28, #0xc0 (192)",
|
||||
"str w3, [x28, #1000]",
|
||||
"stp x4, x5, [x28, #280]",
|
||||
"stp x6, x7, [x28, #296]",
|
||||
"stp x8, x9, [x28, #312]",
|
||||
"stp x10, x11, [x28, #328]",
|
||||
"stp x12, x13, [x28, #344]",
|
||||
"stp x14, x15, [x28, #360]",
|
||||
"stp x16, x17, [x28, #376]",
|
||||
"stp x19, x29, [x28, #392]",
|
||||
"str x26, [x28, #1024]",
|
||||
"str x27, [x28, #1032]",
|
||||
"add x3, x28, #0x1a0 (416)",
|
||||
"st1 {v16.2d, v17.2d, v18.2d, v19.2d}, [x3], #64",
|
||||
"st1 {v20.2d, v21.2d, v22.2d, v23.2d}, [x3], #64",
|
||||
"st1 {v24.2d, v25.2d, v26.2d, v27.2d}, [x3], #64",
|
||||
"st1 {v28.2d, v29.2d, v30.2d, v31.2d}, [x3], #64",
|
||||
"mov w1, w5",
|
||||
"ldr x0, [x28, #1112]",
|
||||
"ldr x2, [x28, #1128]",
|
||||
"ldr x0, [x28, #1368]",
|
||||
"ldr x2, [x28, #1384]",
|
||||
"blr x2",
|
||||
"ldr w4, [x28, #728]",
|
||||
"ldr w4, [x28, #1000]",
|
||||
"msr nzcv, x4",
|
||||
"add x4, x28, #0xc0 (192)",
|
||||
"add x4, x28, #0x1a0 (416)",
|
||||
"ld1 {v16.2d, v17.2d, v18.2d, v19.2d}, [x4], #64",
|
||||
"ld1 {v20.2d, v21.2d, v22.2d, v23.2d}, [x4], #64",
|
||||
"ld1 {v24.2d, v25.2d, v26.2d, v27.2d}, [x4], #64",
|
||||
"ld1 {v28.2d, v29.2d, v30.2d, v31.2d}, [x4], #64",
|
||||
"ldp x4, x5, [x28, #16]",
|
||||
"ldp x6, x7, [x28, #32]",
|
||||
"ldp x8, x9, [x28, #48]",
|
||||
"ldp x10, x11, [x28, #64]",
|
||||
"ldp x12, x13, [x28, #80]",
|
||||
"ldp x14, x15, [x28, #96]",
|
||||
"ldp x16, x17, [x28, #112]",
|
||||
"ldp x19, x29, [x28, #128]",
|
||||
"ldr x26, [x28, #752]",
|
||||
"ldr x27, [x28, #760]",
|
||||
"ldp x4, x5, [x28, #280]",
|
||||
"ldp x6, x7, [x28, #296]",
|
||||
"ldp x8, x9, [x28, #312]",
|
||||
"ldp x10, x11, [x28, #328]",
|
||||
"ldp x12, x13, [x28, #344]",
|
||||
"ldp x14, x15, [x28, #360]",
|
||||
"ldp x16, x17, [x28, #376]",
|
||||
"ldp x19, x29, [x28, #392]",
|
||||
"ldr x26, [x28, #1024]",
|
||||
"ldr x27, [x28, #1032]",
|
||||
"ld1 {v2.2d, v3.2d}, [sp], #32",
|
||||
"ld1 {v4.2d, v5.2d, v6.2d, v7.2d}, [sp], #64",
|
||||
"ld1 {v8.2d, v9.2d, v10.2d, v11.2d}, [sp], #64",
|
||||
@ -82,10 +82,10 @@
|
||||
"lsl w4, w20, #7",
|
||||
"lsr x6, x20, #25",
|
||||
"mrs x0, nzcv",
|
||||
"str w0, [x28, #728]",
|
||||
"str x8, [x28, #48]",
|
||||
"str w0, [x28, #1000]",
|
||||
"str x8, [x28, #312]",
|
||||
"mov w0, #0x100",
|
||||
"str x0, [x28, #1048]",
|
||||
"str x0, [x28, #1312]",
|
||||
"sub sp, sp, #0x10 (16)",
|
||||
"mov w8, #0xa8",
|
||||
"mov x0, sp",
|
||||
@ -93,10 +93,10 @@
|
||||
"svc #0x0",
|
||||
"ldp w0, w1, [sp]",
|
||||
"sub sp, sp, #0x10 (16)",
|
||||
"ldr w8, [x28, #728]",
|
||||
"ldr w8, [x28, #1000]",
|
||||
"msr nzcv, x8",
|
||||
"ldr x8, [x28, #48]",
|
||||
"str xzr, [x28, #1048]",
|
||||
"ldr x8, [x28, #312]",
|
||||
"str xzr, [x28, #1312]",
|
||||
"orr x5, x0, x1, lsl #12"
|
||||
]
|
||||
},
|
||||
|
@ -13,7 +13,7 @@
|
||||
"ExpectedInstructionCount": 2,
|
||||
"Comment": "0x0f 0xa0",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x28, #154]",
|
||||
"ldrh w20, [x28, #938]",
|
||||
"str w20, [x8, #-4]!"
|
||||
]
|
||||
},
|
||||
@ -23,18 +23,18 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr w20, [x8]",
|
||||
"add x8, x8, #0x4 (4)",
|
||||
"strh w20, [x28, #154]",
|
||||
"strh w20, [x28, #938]",
|
||||
"ubfx w20, w20, #3, #13",
|
||||
"add x0, x28, x20, lsl #2",
|
||||
"ldr w20, [x0, #896]",
|
||||
"str w20, [x28, #184]"
|
||||
"ldr w20, [x0, #1168]",
|
||||
"str w20, [x28, #968]"
|
||||
]
|
||||
},
|
||||
"push gs": {
|
||||
"ExpectedInstructionCount": 2,
|
||||
"Comment": "0x0f 0xa8",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldrh w20, [x28, #152]",
|
||||
"ldrh w20, [x28, #936]",
|
||||
"str w20, [x8, #-4]!"
|
||||
]
|
||||
},
|
||||
@ -44,11 +44,11 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr w20, [x8]",
|
||||
"add x8, x8, #0x4 (4)",
|
||||
"strh w20, [x28, #152]",
|
||||
"strh w20, [x28, #936]",
|
||||
"ubfx w20, w20, #3, #13",
|
||||
"add x0, x28, x20, lsl #2",
|
||||
"ldr w20, [x0, #896]",
|
||||
"str w20, [x28, #176]"
|
||||
"ldr w20, [x0, #1168]",
|
||||
"str w20, [x28, #960]"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -110,7 +110,7 @@
|
||||
"ExpectedInstructionCount": 3,
|
||||
"Comment": "0x66 0x0f 0x2a",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"sxtl v2.2d, v2.2s",
|
||||
"scvtf v16.2d, v2.2d"
|
||||
]
|
||||
@ -128,7 +128,7 @@
|
||||
"ExpectedArm64ASM": [
|
||||
"fcvtn v2.2s, v16.2d",
|
||||
"fcvtzs v2.2s, v2.2s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"cvtpd2pi mm0, xmm0": {
|
||||
@ -138,7 +138,7 @@
|
||||
"fcvtn v2.2s, v16.2d",
|
||||
"frinti v2.2s, v2.2s",
|
||||
"fcvtzs v2.2s, v2.2s",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"ucomisd xmm0, xmm1": {
|
||||
@ -523,7 +523,7 @@
|
||||
"0x66 0x0f 0x70"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x0, [x28, #1760]",
|
||||
"ldr x0, [x28, #2016]",
|
||||
"ldr q2, [x0, #16]",
|
||||
"tbl v16.16b, {v17.16b}, v2.16b"
|
||||
]
|
||||
@ -537,7 +537,7 @@
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x4]",
|
||||
"ldr x0, [x28, #1760]",
|
||||
"ldr x0, [x28, #2016]",
|
||||
"ldr q3, [x0, #16]",
|
||||
"tbl v16.16b, {v2.16b}, v3.16b"
|
||||
]
|
||||
@ -1015,7 +1015,7 @@
|
||||
"ExpectedInstructionCount": 3,
|
||||
"Comment": "0x66 0x0f 0xd0",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x28, #2128]",
|
||||
"ldr q2, [x28, #2384]",
|
||||
"eor v2.16b, v17.16b, v2.16b",
|
||||
"fadd v16.2d, v16.2d, v2.2d"
|
||||
]
|
||||
@ -1071,7 +1071,7 @@
|
||||
"ExpectedInstructionCount": 7,
|
||||
"Comment": "0x66 0x0f 0xd7",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x28, #2288]",
|
||||
"ldr q2, [x28, #2544]",
|
||||
"cmlt v3.16b, v16.16b, #0",
|
||||
"and v2.16b, v3.16b, v2.16b",
|
||||
"addp v2.16b, v2.16b, v2.16b",
|
||||
|
@ -354,7 +354,7 @@
|
||||
"0xf3 0x0f 0x70"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x0, [x28, #1752]",
|
||||
"ldr x0, [x28, #2008]",
|
||||
"ldr q2, [x0, #16]",
|
||||
"tbl v16.16b, {v17.16b}, v2.16b"
|
||||
]
|
||||
@ -611,7 +611,7 @@
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "0xf3 0x0f 0xd6",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d16, [x28, #768]"
|
||||
"ldr d16, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"cvtdq2pd xmm0, xmm1": {
|
||||
|
@ -296,7 +296,7 @@
|
||||
"0xf2 0x0f 0x70"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x0, [x28, #1744]",
|
||||
"ldr x0, [x28, #2000]",
|
||||
"ldr q2, [x0, #16]",
|
||||
"tbl v16.16b, {v17.16b}, v2.16b"
|
||||
]
|
||||
@ -452,7 +452,7 @@
|
||||
"ExpectedInstructionCount": 3,
|
||||
"Comment": "0xf2 0x0f 0xd0",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x28, #2096]",
|
||||
"ldr q2, [x28, #2352]",
|
||||
"eor v2.16b, v17.16b, v2.16b",
|
||||
"fadd v16.4s, v16.4s, v2.4s"
|
||||
]
|
||||
@ -461,7 +461,7 @@
|
||||
"ExpectedInstructionCount": 1,
|
||||
"Comment": "0xf2 0x0f 0xd6",
|
||||
"ExpectedArm64ASM": [
|
||||
"str d16, [x28, #768]"
|
||||
"str d16, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"cvtpd2dq xmm0, xmm1": {
|
||||
|
@ -36,80 +36,80 @@
|
||||
"ExpectedInstructionCount": 4,
|
||||
"Comment": "0x0f 0xd1",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d3, [x28, #784]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ldr d3, [x28, #1056]",
|
||||
"lsr z2.h, p6/m, z2.h, z3.d",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psrld mm0, mm1": {
|
||||
"ExpectedInstructionCount": 4,
|
||||
"Comment": "0x0f 0xd2",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d3, [x28, #784]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ldr d3, [x28, #1056]",
|
||||
"lsr z2.s, p6/m, z2.s, z3.d",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psrlq mm0, mm1": {
|
||||
"ExpectedInstructionCount": 4,
|
||||
"Comment": "0x0f 0xd3",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d3, [x28, #784]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ldr d3, [x28, #1056]",
|
||||
"lsr z2.d, p6/m, z2.d, z3.d",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psraw mm0, mm1": {
|
||||
"ExpectedInstructionCount": 4,
|
||||
"Comment": "0x0f 0xe1",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d3, [x28, #784]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ldr d3, [x28, #1056]",
|
||||
"asr z2.h, p6/m, z2.h, z3.d",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psrad mm0, mm1": {
|
||||
"ExpectedInstructionCount": 4,
|
||||
"Comment": "0x0f 0xe2",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d3, [x28, #784]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ldr d3, [x28, #1056]",
|
||||
"asr z2.s, p6/m, z2.s, z3.d",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psllw mm0, mm1": {
|
||||
"ExpectedInstructionCount": 4,
|
||||
"Comment": "0x0f 0xf1",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d3, [x28, #784]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ldr d3, [x28, #1056]",
|
||||
"lsl z2.h, p6/m, z2.h, z3.d",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"pslld mm0, mm1": {
|
||||
"ExpectedInstructionCount": 4,
|
||||
"Comment": "0x0f 0xf2",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d3, [x28, #784]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ldr d3, [x28, #1056]",
|
||||
"lsl z2.s, p6/m, z2.s, z3.d",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
},
|
||||
"psllq mm0, mm1": {
|
||||
"ExpectedInstructionCount": 4,
|
||||
"Comment": "0x0f 0xf3",
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr d2, [x28, #768]",
|
||||
"ldr d3, [x28, #784]",
|
||||
"ldr d2, [x28, #1040]",
|
||||
"ldr d3, [x28, #1056]",
|
||||
"lsl z2.d, p6/m, z2.d, z3.d",
|
||||
"str d2, [x28, #768]"
|
||||
"str d2, [x28, #1040]"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -2749,7 +2749,7 @@
|
||||
"Map 1 0b00 0xC6 128-bit"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x0, [x28, #1768]",
|
||||
"ldr x0, [x28, #2024]",
|
||||
"ldr q2, [x0, #16]",
|
||||
"tbl v16.16b, {v17.16b, v18.16b}, v2.16b"
|
||||
]
|
||||
@ -2818,7 +2818,7 @@
|
||||
"Map 1 0b00 0xC6 128-bit"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x0, [x28, #1768]",
|
||||
"ldr x0, [x28, #2024]",
|
||||
"ldr q2, [x0, #32]",
|
||||
"tbl v16.16b, {v17.16b, v18.16b}, v2.16b"
|
||||
]
|
||||
@ -2887,7 +2887,7 @@
|
||||
"Map 1 0b00 0xC6 128-bit"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x0, [x28, #1768]",
|
||||
"ldr x0, [x28, #2024]",
|
||||
"ldr q2, [x0, #48]",
|
||||
"tbl v16.16b, {v17.16b, v18.16b}, v2.16b"
|
||||
]
|
||||
@ -4332,7 +4332,7 @@
|
||||
"Map 1 0b01 0xd0 128-bit"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x28, #2128]",
|
||||
"ldr q2, [x28, #2384]",
|
||||
"eor v2.16b, v18.16b, v2.16b",
|
||||
"fadd v16.2d, v17.2d, v2.2d"
|
||||
]
|
||||
@ -4343,7 +4343,7 @@
|
||||
"Map 1 0b01 0xd0 256-bit"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x0, [x28, #1600]",
|
||||
"ldr x0, [x28, #1856]",
|
||||
"ld1b {z2.b}, p7/z, [x0]",
|
||||
"eor z2.d, z18.d, z2.d",
|
||||
"fadd z16.d, z17.d, z2.d"
|
||||
@ -4355,7 +4355,7 @@
|
||||
"Map 1 0b11 0xd0 128-bit"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x28, #2096]",
|
||||
"ldr q2, [x28, #2352]",
|
||||
"eor v2.16b, v18.16b, v2.16b",
|
||||
"fadd v16.4s, v17.4s, v2.4s"
|
||||
]
|
||||
@ -4366,7 +4366,7 @@
|
||||
"Map 1 0b11 0xd0 256-bit"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x0, [x28, #1584]",
|
||||
"ldr x0, [x28, #1840]",
|
||||
"ld1b {z2.b}, p7/z, [x0]",
|
||||
"eor z2.d, z18.d, z2.d",
|
||||
"fadd z16.s, z17.s, z2.s"
|
||||
@ -4492,7 +4492,7 @@
|
||||
"Map 1 0b01 0xd7 256-bit"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x28, #2288]",
|
||||
"ldr q2, [x28, #2544]",
|
||||
"cmlt v3.16b, v16.16b, #0",
|
||||
"and v2.16b, v3.16b, v2.16b",
|
||||
"addp v2.16b, v2.16b, v2.16b",
|
||||
@ -4507,7 +4507,7 @@
|
||||
"Map 1 0b01 0xd7 256-bit"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr x0, [x28, #1680]",
|
||||
"ldr x0, [x28, #1936]",
|
||||
"ld1b {z2.b}, p7/z, [x0]",
|
||||
"mrs x0, nzcv",
|
||||
"mov z0.d, #0",
|
||||
|
@ -1575,7 +1575,7 @@
|
||||
"Map 2 0b01 0x41 256-bit"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x28, #2064]",
|
||||
"ldr q2, [x28, #2320]",
|
||||
"zip1 v3.8h, v2.8h, v17.8h",
|
||||
"zip2 v2.8h, v2.8h, v17.8h",
|
||||
"umin v2.4s, v3.4s, v2.4s",
|
||||
|
@ -4796,7 +4796,7 @@
|
||||
"Map 3 0b01 0xdf 128-bit"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x28, #2176]",
|
||||
"ldr q2, [x28, #2432]",
|
||||
"movi v3.2d, #0x0",
|
||||
"mov v16.16b, v17.16b",
|
||||
"unimplemented (Unimplemented)",
|
||||
@ -4809,7 +4809,7 @@
|
||||
"Map 3 0b01 0xdf 128-bit"
|
||||
],
|
||||
"ExpectedArm64ASM": [
|
||||
"ldr q2, [x28, #2176]",
|
||||
"ldr q2, [x28, #2432]",
|
||||
"movi v3.2d, #0x0",
|
||||
"mov v16.16b, v17.16b",
|
||||
"unimplemented (Unimplemented)",
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user