From 5321c31bc78379a33f07dc7bef9256d05b942ad7 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Tue, 29 Mar 2022 20:05:51 -0400 Subject: Fix for MUL instruction on the v850 * sim/v850/simops.c (Multiply64): Properly test if we need to negate either of the operands. * sim/testsuite/v850/mul.cgs: New test. --- sim/v850/simops.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sim/v850') diff --git a/sim/v850/simops.c b/sim/v850/simops.c index 8fac8bd..d264057 100644 --- a/sim/v850/simops.c +++ b/sim/v850/simops.c @@ -339,10 +339,10 @@ Multiply64 (int sign, unsigned long op0) sign = (op0 ^ op1) & 0x80000000; - if (((signed long) op0) < 0) + if (op0 & 0x80000000) op0 = - op0; - if (((signed long) op1) < 0) + if (op1 & 0x80000000) op1 = - op1; } -- cgit v1.1