Commit 18b80268 by DJ Delorie Committed by DJ Delorie

re PR target/41456 (unrecognized R constraint: R13)

PR target/41456
* config/m32c/m32c.h (REG_CLASS_CONTENTS): Add R13.
(reg_class): Likewise.
(REG_CLASS_NAMES): Likewise.
* config/m32c/m32c.c (m32c_reg_class_from_constraint): Likewise.

* config/m32c/m32c.c (m32c_override_options): Disable -fivopts for
M32C.

From-SVN: r152144
parent 368908d8
2009-09-24 DJ Delorie <dj@redhat.com>
PR target/41456
* config/m32c/m32c.h (REG_CLASS_CONTENTS): Add R13.
(reg_class): Likewise.
(REG_CLASS_NAMES): Likewise.
* config/m32c/m32c.c (m32c_reg_class_from_constraint): Likewise.
* config/m32c/m32c.c (m32c_override_options): Disable -fivopts for
M32C.
2009-09-24 Michael Meissner <meissner@linux.vnet.ibm.com> 2009-09-24 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/predicates.md (indexed_or_indirect_operand): * config/rs6000/predicates.md (indexed_or_indirect_operand):
......
...@@ -422,6 +422,9 @@ m32c_override_options (void) ...@@ -422,6 +422,9 @@ m32c_override_options (void)
} }
else else
target_memregs = 16; target_memregs = 16;
if (TARGET_A24)
flag_ivopts = 0;
} }
/* Defining data structures for per-function information */ /* Defining data structures for per-function information */
...@@ -638,6 +641,8 @@ m32c_reg_class_from_constraint (char c ATTRIBUTE_UNUSED, const char *s) ...@@ -638,6 +641,8 @@ m32c_reg_class_from_constraint (char c ATTRIBUTE_UNUSED, const char *s)
return R3_REGS; return R3_REGS;
if (memcmp (s, "R02", 3) == 0) if (memcmp (s, "R02", 3) == 0)
return R02_REGS; return R02_REGS;
if (memcmp (s, "R13", 3) == 0)
return R13_REGS;
if (memcmp (s, "R03", 3) == 0) if (memcmp (s, "R03", 3) == 0)
return R03_REGS; return R03_REGS;
if (memcmp (s, "Rdi", 3) == 0) if (memcmp (s, "Rdi", 3) == 0)
......
...@@ -277,6 +277,7 @@ machine_function; ...@@ -277,6 +277,7 @@ machine_function;
{ 0x00000002 }, /* R2 - r2 */\ { 0x00000002 }, /* R2 - r2 */\
{ 0x00000008 }, /* R3 - r3 */\ { 0x00000008 }, /* R3 - r3 */\
{ 0x00000003 }, /* R02 - r0r2 */\ { 0x00000003 }, /* R02 - r0r2 */\
{ 0x0000000c }, /* R13 - r1r3 */\
{ 0x00000005 }, /* HL - r0 r1 */\ { 0x00000005 }, /* HL - r0 r1 */\
{ 0x00000005 }, /* QI - r0 r1 */\ { 0x00000005 }, /* QI - r0 r1 */\
{ 0x0000000a }, /* R23 - r2 r3 */\ { 0x0000000a }, /* R23 - r2 r3 */\
...@@ -316,6 +317,7 @@ enum reg_class ...@@ -316,6 +317,7 @@ enum reg_class
R2_REGS, R2_REGS,
R3_REGS, R3_REGS,
R02_REGS, R02_REGS,
R13_REGS,
HL_REGS, HL_REGS,
QI_REGS, QI_REGS,
R23_REGS, R23_REGS,
...@@ -357,6 +359,7 @@ enum reg_class ...@@ -357,6 +359,7 @@ enum reg_class
"R2_REGS", \ "R2_REGS", \
"R3_REGS", \ "R3_REGS", \
"R02_REGS", \ "R02_REGS", \
"R13_REGS", \
"HL_REGS", \ "HL_REGS", \
"QI_REGS", \ "QI_REGS", \
"R23_REGS", \ "R23_REGS", \
......
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