mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 19:48:20 +02:00
Fixed REX for imul8
This commit is contained in:
parent
8868d3216e
commit
e5406250e3
1 changed files with 4 additions and 17 deletions
|
@ -9876,12 +9876,7 @@ bool BeMCContext::DoLegalization()
|
||||||
break;
|
break;
|
||||||
case BeMCInstKind_Mul:
|
case BeMCInstKind_Mul:
|
||||||
case BeMCInstKind_IMul:
|
case BeMCInstKind_IMul:
|
||||||
{
|
{
|
||||||
if (mDebugging)
|
|
||||||
{
|
|
||||||
NOP;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (arg0Type->mSize == 1)
|
if (arg0Type->mSize == 1)
|
||||||
{
|
{
|
||||||
if ((!arg0.IsNativeReg()) || (arg0.mReg != X64Reg_AL) || (inst->mResult))
|
if ((!arg0.IsNativeReg()) || (arg0.mReg != X64Reg_AL) || (inst->mResult))
|
||||||
|
@ -14019,16 +14014,7 @@ void BeMCContext::DoCodeEmission()
|
||||||
break;
|
break;
|
||||||
case BeMCInstKind_Mul:
|
case BeMCInstKind_Mul:
|
||||||
case BeMCInstKind_IMul:
|
case BeMCInstKind_IMul:
|
||||||
{
|
{
|
||||||
if (arg0Type->IsExplicitVectorType())
|
|
||||||
{
|
|
||||||
auto vectorType = (BeVectorType*)arg0Type;
|
|
||||||
if (vectorType->mElementType->mTypeCode == BeTypeCode_Float)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (EmitStdXMMInst(instForm, inst, 0x59))
|
if (EmitStdXMMInst(instForm, inst, 0x59))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -14133,6 +14119,7 @@ void BeMCContext::DoCodeEmission()
|
||||||
{
|
{
|
||||||
case BeMCInstForm_R8_RM8:
|
case BeMCInstForm_R8_RM8:
|
||||||
BF_ASSERT(inst->mArg0.mReg == X64Reg_AL);
|
BF_ASSERT(inst->mArg0.mReg == X64Reg_AL);
|
||||||
|
EmitREX(BeMCOperand(), inst->mArg1, false);
|
||||||
Emit(0xF6);
|
Emit(0xF6);
|
||||||
EmitModRM(0x5, inst->mArg1);
|
EmitModRM(0x5, inst->mArg1);
|
||||||
break;
|
break;
|
||||||
|
@ -15483,7 +15470,7 @@ void BeMCContext::Generate(BeFunction* function)
|
||||||
mDbgPreferredRegs[32] = X64Reg_R8;*/
|
mDbgPreferredRegs[32] = X64Reg_R8;*/
|
||||||
|
|
||||||
//mDbgPreferredRegs[8] = X64Reg_RAX;
|
//mDbgPreferredRegs[8] = X64Reg_RAX;
|
||||||
mDebugging = (function->mName == "?MethodA@Zorps@bf@@SA?AUfloat4@2@UStructA@2@32@@Z");
|
//mDebugging = (function->mName == "?Main@TestProgram@BeefTest@bf@@SATint@@PEAV?$Array1@PEAVString@System@bf@@@System@3@@Z");
|
||||||
// || (function->mName == "?__BfStaticCtor@roboto_font@Drawing@ClassicUO_assistant@bf@@SAXXZ")
|
// || (function->mName == "?__BfStaticCtor@roboto_font@Drawing@ClassicUO_assistant@bf@@SAXXZ")
|
||||||
// || (function->mName == "?Hey@Blurg@bf@@SAXXZ")
|
// || (function->mName == "?Hey@Blurg@bf@@SAXXZ")
|
||||||
// ;
|
// ;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue