From d67a7797d2e171533e6e0a662032e2d5c354902b Mon Sep 17 00:00:00 2001 From: Lukas Zenick Date: Sun, 14 Apr 2024 15:59:24 -0500 Subject: [PATCH] arch-x86: Movfp account for dataSize=4 Change-Id: I97e7a6f2738a57cad9907ddfe5c8030a26c147e8 --- src/arch/x86/isa/microops/fpop.isa | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/arch/x86/isa/microops/fpop.isa b/src/arch/x86/isa/microops/fpop.isa index b0b925f679..4d85cf3e18 100644 --- a/src/arch/x86/isa/microops/fpop.isa +++ b/src/arch/x86/isa/microops/fpop.isa @@ -257,7 +257,14 @@ let {{ super().__init__(reg1, reg2, reg3, **kwargs) class Movfp(Fp2Op): - code = 'FpDestReg_uqw = FpSrcReg1_uqw;' + code = ''' + if(dataSize == 4) { + FpDestReg_uqw = (0xFFFFFFFF00000000 & FpDestReg_uqw) | + (0x00000000FFFFFFFF & FpSrcReg1_uqw); + } else { + FpDestReg_uqw = FpSrcReg1_uqw; + } + ''' else_code = 'FpDestReg_uqw = FpDestReg_uqw;' cond_check = "checkCondition(ccFlagBits | cfofBits | dfBit | \ ecfBit | ezfBit, src1)"