Commit 90e0c734 by James E Wilson Committed by Jim Wilson

Fix misoptimization of mask and shift.

PR target/21684
* config/mcore/mcore.h (SHIFT_COUNT_TRUNCATED): Define to 0.

Co-Authored-By: Kevin Winchester <winchester@amirix.com>

From-SVN: r103228
parent 97b51fd0
2005-08-17 James E Wilson <wilson@specifix.com>
Kevin Winchester <winchester@amirix.com>
PR target/21684
* config/mcore/mcore.h (SHIFT_COUNT_TRUNCATED): Define to 0.
2005-08-17 Uros Bizjak <uros@kss-loka.si> 2005-08-17 Uros Bizjak <uros@kss-loka.si>
PR target/23268 PR target/23268
......
...@@ -820,12 +820,10 @@ extern const enum reg_class reg_class_from_letter[]; ...@@ -820,12 +820,10 @@ extern const enum reg_class reg_class_from_letter[];
/* Nonzero if access to memory by bytes is slow and undesirable. */ /* Nonzero if access to memory by bytes is slow and undesirable. */
#define SLOW_BYTE_ACCESS TARGET_SLOW_BYTES #define SLOW_BYTE_ACCESS TARGET_SLOW_BYTES
/* Immediate shift counts are truncated by the output routines (or was it /* Shift counts are truncated to 6-bits (0 to 63) instead of the expected
the assembler?). Shift counts in a register are truncated by ARM. Note 5-bits, so we can not define SHIFT_COUNT_TRUNCATED to true for this
that the native compiler puts too large (> 32) immediate shift counts target. */
into a register and shifts by the register, letting the ARM decide what #define SHIFT_COUNT_TRUNCATED 0
to do instead of doing that itself. */
#define SHIFT_COUNT_TRUNCATED 1
/* All integers have the same format so truncation is easy. */ /* All integers have the same format so truncation is easy. */
#define TRULY_NOOP_TRUNCATION(OUTPREC,INPREC) 1 #define TRULY_NOOP_TRUNCATION(OUTPREC,INPREC) 1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment