diff options
| author | chedahub <2017000029@ushs.hs.kr> | 2025-11-01 01:03:09 +0900 |
|---|---|---|
| committer | Alexander Taylor <twobitwizard@gmail.com> | 2026-01-12 09:54:26 -0500 |
| commit | fb764042bc62f61c25dfdce14ccaf8dcb0437fc3 (patch) | |
| tree | 4f700423416a0c97fd00951946f4cd395eb10933 /arch | |
| parent | 36f37d301930347b92049c1535ed2a63557771a0 (diff) | |
Fix(ppcvle): Correct si_split16 immediate decoding for I16A-form instructions
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/powerpc/decode/vle32.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/decode/vle32.c b/arch/powerpc/decode/vle32.c index f722c789..1be2272d 100644 --- a/arch/powerpc/decode/vle32.c +++ b/arch/powerpc/decode/vle32.c @@ -326,7 +326,7 @@ static uint32_t ComputeSCI8(uint32_t word32) { static void FillOperands32Vle(Instruction* instruction, uint32_t word32, uint64_t address, bool translate) { - uint16_t ui0_4 = (word32 >> 16) & 0x1f; + uint16_t ui0_4 = (word32 >> 21) & 0x1f; uint16_t ui5_15 = word32 & 0x7ff; uint32_t ui_split16 = (ui0_4 << 11) | ui5_15; int32_t si_split16 = (int32_t)(int16_t)(uint16_t)(ui_split16); |
