RFA: RX: Set the flags when performing a shift by zero
Nick Clifton
nickc@redhat.com
Wed Jun 26 10:57:00 GMT 2013
Hi DJ,
The patch below fixes a problem with the RX simulator's handling of
shift instructions. If the shift was by 0 the simulator would not set
the condition code bits. The RX ISA allows a shift of 0, and the
condition codes should be set. Fixing this also resolves an
unexpected failure in the GCC testsuite (builtin-bitops.c) where gcc's
compilation of the ffs() function relies upon the flag setting
behaviour.
OK to apply ?
Cheers
Nick
sim/rx/ChangeLog
2013-06-25 Nick Clifton <nickc@redhat.com>
* rx/rx.c (SHIFT_OP): A shift by zero still sets the condition
codes.
Index: sim/rx/rx.c
===================================================================
RCS file: /cvs/src/src/sim/rx/rx.c,v
retrieving revision 1.17
diff -u -3 -p -r1.17 rx.c
--- sim/rx/rx.c 16 Jan 2013 10:45:22 -0000 1.17
+++ sim/rx/rx.c 26 Jun 2013 10:33:15 -0000
@@ -732,8 +732,7 @@ poppc()
c = val & carry_mask; \
val OP 1; \
} \
- if (count) \
- set_oszc (val, 4, c); \
+ set_oszc (val, 4, c); \
PD (val); \
}
More information about the Gdb-patches
mailing list