summaryrefslogtreecommitdiffstats
path: root/gcc/config/rs6000/rs6000.md
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/rs6000/rs6000.md')
-rw-r--r--gcc/config/rs6000/rs6000.md121
1 files changed, 64 insertions, 57 deletions
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 5be4c710f42..54e62060d2b 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -4318,11 +4318,12 @@
else
indx = stack_pointer_rtx;
- operands[2] = gen_rtx_MEM (SImode,
- gen_rtx_PLUS (Pmode,
- indx,
- GEN_INT ((((rs6000_fpmem_offset & 0xffff) ^ 0x8000) - 0x8000)
- + ((WORDS_BIG_ENDIAN != 0) * 4))));
+ operands[2]
+ = gen_rtx_MEM (SImode,
+ plus_constant (indx,
+ (((rs6000_fpmem_offset & 0xffff) ^ 0x8000)
+ - 0x8000)
+ + ((WORDS_BIG_ENDIAN != 0) * 4)));
return \"{st|stw} %0,%2\";
}"
@@ -4345,11 +4346,12 @@
else
indx = stack_pointer_rtx;
- operands[2] = gen_rtx_MEM (SImode,
- gen_rtx_PLUS (Pmode,
- indx,
- GEN_INT ((((rs6000_fpmem_offset & 0xffff) ^ 0x8000) - 0x8000)
- + ((WORDS_BIG_ENDIAN == 0) * 4))));
+ operands[2]
+ = gen_rtx_MEM (SImode,
+ plus_constant (indx,
+ (((rs6000_fpmem_offset & 0xffff) ^ 0x8000)
+ - 0x8000)
+ + ((WORDS_BIG_ENDIAN == 0) * 4)));
return \"{st|stw} %0,%2\";
}"
@@ -4375,8 +4377,7 @@
else
indx = stack_pointer_rtx;
- operands[2] = gen_rtx_MEM (SImode,
- gen_rtx_PLUS (Pmode, indx, GEN_INT (offset)));
+ operands[2] = gen_rtx_MEM (SImode, plus_constant (indx, offset));
return \"lfd %0,%2\";
}"
@@ -4449,10 +4450,9 @@
indx = stack_pointer_rtx;
operands[2] = gen_rtx_MEM (DFmode,
- gen_rtx_PLUS (Pmode,
- indx,
- GEN_INT ((((rs6000_fpmem_offset & 0xffff)
- ^ 0x8000) - 0x8000))));
+ plus_constant (indx,
+ (((rs6000_fpmem_offset & 0xffff)
+ ^ 0x8000) - 0x8000)));
return \"stfd %0,%2\";
}"
@@ -4474,11 +4474,12 @@
else
indx = stack_pointer_rtx;
- operands[2] = gen_rtx_MEM (DFmode,
- gen_rtx_PLUS (Pmode,
- indx,
- GEN_INT ((((rs6000_fpmem_offset & 0xffff) ^ 0x8000) - 0x8000)
- + ((WORDS_BIG_ENDIAN) ? 4 : 0))));
+ operands[2]
+ = gen_rtx_MEM (DFmode,
+ plus_constant (indx,
+ (((rs6000_fpmem_offset & 0xffff) ^ 0x8000)
+ - 0x8000)
+ + ((WORDS_BIG_ENDIAN) ? 4 : 0)));
return \"{l|lwz} %0,%2\";
}"
@@ -4507,7 +4508,7 @@
rtx last = XVECEXP (insns, 0, XVECLEN (insns, 0) - 1);
REG_NOTES (first) = gen_rtx_INSN_LIST (REG_LIBCALL, last,
- REG_NOTES (first));
+ REG_NOTES (first));
REG_NOTES (last) = gen_rtx_INSN_LIST (REG_RETVAL, first, REG_NOTES (last));
emit_insn (insns);
@@ -6015,7 +6016,8 @@
while (*name == '.')
name++;
new_ref = gen_rtx_SYMBOL_REF (Pmode, name);
- CONSTANT_POOL_ADDRESS_P (new_ref) = CONSTANT_POOL_ADDRESS_P (operands[1]);
+ CONSTANT_POOL_ADDRESS_P (new_ref)
+ = CONSTANT_POOL_ADDRESS_P (operands[1]);
SYMBOL_REF_FLAG (new_ref) = SYMBOL_REF_FLAG (operands[1]);
SYMBOL_REF_USED (new_ref) = SYMBOL_REF_USED (operands[1]);
operands[1] = new_ref;
@@ -7198,8 +7200,8 @@
for (i = 0; i < count; i++)
XVECEXP (operands[3], 0, i)
= gen_rtx_SET (VOIDmode, gen_rtx_REG (SImode, regno + i),
- change_address (operands[1], SImode,
- plus_constant (from, i * 4)));
+ change_address (operands[1], SImode,
+ plus_constant (from, i * 4)));
}")
(define_insn ""
@@ -7293,16 +7295,16 @@
XVECEXP (operands[3], 0, 0)
= gen_rtx_SET (VOIDmode, change_address (operands[0], SImode, to),
- operands[1]);
+ operands[1]);
XVECEXP (operands[3], 0, 1) = gen_rtx_CLOBBER (VOIDmode,
- gen_rtx_SCRATCH (SImode));
+ gen_rtx_SCRATCH (SImode));
for (i = 1; i < count; i++)
XVECEXP (operands[3], 0, i + 1)
= gen_rtx_SET (VOIDmode,
- change_address (operands[0], SImode,
- plus_constant (to, i * 4)),
- gen_rtx_REG (SImode, regno + i));
+ change_address (operands[0], SImode,
+ plus_constant (to, i * 4)),
+ gen_rtx_REG (SImode, regno + i));
}")
(define_insn ""
@@ -7874,7 +7876,8 @@
&& (GET_CODE (operands[1]) != CONST_INT || INTVAL (operands[1]) > 4096))
{
rtx tmp = gen_reg_rtx (Pmode);
- emit_library_call_value (gen_rtx_SYMBOL_REF (Pmode, \"__allocate_stack\"),
+ emit_library_call_value (gen_rtx_SYMBOL_REF (Pmode,
+ \"__allocate_stack\"),
tmp, 0, Pmode, 1, operands[1], Pmode);
emit_insn (gen_set_sp (tmp));
emit_move_insn (operands[0], tmp);
@@ -7962,7 +7965,8 @@
/* Copy the backchain to the first word, sp to the second. */
emit_move_insn (temp, gen_rtx_MEM (Pmode, operands[1]));
- emit_move_insn (operand_subword (operands[0], 0, 0, (TARGET_32BIT ? DImode : TImode)),
+ emit_move_insn (operand_subword (operands[0], 0, 0,
+ (TARGET_32BIT ? DImode : TImode)),
temp);
emit_move_insn (operand_subword (operands[0], 1, 0, (TARGET_32BIT ? DImode : TImode)),
operands[1]);
@@ -7981,7 +7985,8 @@
emit_move_insn (temp,
operand_subword (operands[1], 0, 0, (TARGET_32BIT ? DImode : TImode)));
emit_move_insn (operands[0],
- operand_subword (operands[1], 1, 0, (TARGET_32BIT ? DImode : TImode)));
+ operand_subword (operands[1], 1, 0,
+ (TARGET_32BIT ? DImode : TImode)));
emit_move_insn (gen_rtx_MEM (Pmode, operands[0]), temp);
DONE;
}")
@@ -8201,7 +8206,8 @@
if (DEFAULT_ABI == ABI_AIX)
{
- /* AIX function pointers are really pointers to a three word area */
+ /* AIX function pointers are really pointers to a three word
+ area. */
rtx static_chain = gen_rtx_REG (Pmode, STATIC_CHAIN_REGNUM);
emit_call_insn (TARGET_32BIT
? gen_call_indirect_aix32 (force_reg (Pmode, operands[0]),
@@ -8263,7 +8269,8 @@
if (DEFAULT_ABI == ABI_AIX)
{
- /* AIX function pointers are really pointers to a three word area */
+ /* AIX function pointers are really pointers to a three word
+ area. */
rtx static_chain = gen_rtx_REG (Pmode, STATIC_CHAIN_REGNUM);
emit_call_insn (TARGET_32BIT
? gen_call_value_indirect_aix32 (operands[0],
@@ -8655,7 +8662,7 @@
"
{ enum machine_mode mode = rs6000_compare_fp_p ? CCFPmode : CCmode;
operands[1] = gen_rtx_COMPARE (mode,
- rs6000_compare_op0, rs6000_compare_op1);
+ rs6000_compare_op0, rs6000_compare_op1);
operands[2] = gen_reg_rtx (mode);
}")
@@ -8670,7 +8677,7 @@
"
{ enum machine_mode mode = rs6000_compare_fp_p ? CCFPmode : CCmode;
operands[1] = gen_rtx_COMPARE (mode,
- rs6000_compare_op0, rs6000_compare_op1);
+ rs6000_compare_op0, rs6000_compare_op1);
operands[2] = gen_reg_rtx (mode);
}")
@@ -8685,7 +8692,7 @@
"
{ enum machine_mode mode = rs6000_compare_fp_p ? CCFPmode : CCmode;
operands[1] = gen_rtx_COMPARE (mode,
- rs6000_compare_op0, rs6000_compare_op1);
+ rs6000_compare_op0, rs6000_compare_op1);
operands[2] = gen_reg_rtx (mode);
}")
@@ -8700,7 +8707,7 @@
"
{ enum machine_mode mode = rs6000_compare_fp_p ? CCFPmode : CCmode;
operands[1] = gen_rtx_COMPARE (mode,
- rs6000_compare_op0, rs6000_compare_op1);
+ rs6000_compare_op0, rs6000_compare_op1);
operands[2] = gen_reg_rtx (mode);
}")
@@ -8715,7 +8722,7 @@
"
{ enum machine_mode mode = rs6000_compare_fp_p ? CCFPmode : CCmode;
operands[1] = gen_rtx_COMPARE (mode,
- rs6000_compare_op0, rs6000_compare_op1);
+ rs6000_compare_op0, rs6000_compare_op1);
operands[2] = gen_reg_rtx (mode);
}")
@@ -8730,7 +8737,7 @@
"
{ enum machine_mode mode = rs6000_compare_fp_p ? CCFPmode : CCmode;
operands[1] = gen_rtx_COMPARE (mode,
- rs6000_compare_op0, rs6000_compare_op1);
+ rs6000_compare_op0, rs6000_compare_op1);
operands[2] = gen_reg_rtx (mode);
}")
@@ -8744,7 +8751,7 @@
""
"
{ operands[1] = gen_rtx_COMPARE (CCUNSmode,
- rs6000_compare_op0, rs6000_compare_op1);
+ rs6000_compare_op0, rs6000_compare_op1);
operands[2] = gen_reg_rtx (CCUNSmode);
}")
@@ -8758,7 +8765,7 @@
""
"
{ operands[1] = gen_rtx_COMPARE (CCUNSmode,
- rs6000_compare_op0, rs6000_compare_op1);
+ rs6000_compare_op0, rs6000_compare_op1);
operands[2] = gen_reg_rtx (CCUNSmode);
}")
@@ -8772,7 +8779,7 @@
""
"
{ operands[1] = gen_rtx_COMPARE (CCUNSmode,
- rs6000_compare_op0, rs6000_compare_op1);
+ rs6000_compare_op0, rs6000_compare_op1);
operands[2] = gen_reg_rtx (CCUNSmode);
}")
@@ -8786,7 +8793,7 @@
""
"
{ operands[1] = gen_rtx_COMPARE (CCUNSmode,
- rs6000_compare_op0, rs6000_compare_op1);
+ rs6000_compare_op0, rs6000_compare_op1);
operands[2] = gen_reg_rtx (CCUNSmode);
}")
@@ -8803,7 +8810,7 @@
"
{ enum machine_mode mode = rs6000_compare_fp_p ? CCFPmode : CCmode;
operands[1] = gen_rtx_COMPARE (mode,
- rs6000_compare_op0, rs6000_compare_op1);
+ rs6000_compare_op0, rs6000_compare_op1);
operands[2] = gen_reg_rtx (mode);
}")
@@ -8817,7 +8824,7 @@
FAIL;
operands[1] = gen_rtx_COMPARE (CCFPmode,
- rs6000_compare_op0, rs6000_compare_op1);
+ rs6000_compare_op0, rs6000_compare_op1);
operands[2] = gen_reg_rtx (CCFPmode);
}")
@@ -8834,7 +8841,7 @@
FAIL;
operands[1] = gen_rtx_COMPARE (mode,
- rs6000_compare_op0, rs6000_compare_op1);
+ rs6000_compare_op0, rs6000_compare_op1);
operands[2] = gen_reg_rtx (mode);
}")
@@ -8851,7 +8858,7 @@
FAIL;
operands[1] = gen_rtx_COMPARE (mode,
- rs6000_compare_op0, rs6000_compare_op1);
+ rs6000_compare_op0, rs6000_compare_op1);
operands[2] = gen_reg_rtx (mode);
}")
@@ -8863,7 +8870,7 @@
"
{ enum machine_mode mode = rs6000_compare_fp_p ? CCFPmode : CCmode;
operands[1] = gen_rtx_COMPARE (mode,
- rs6000_compare_op0, rs6000_compare_op1);
+ rs6000_compare_op0, rs6000_compare_op1);
operands[2] = gen_reg_rtx (mode);
}")
@@ -8880,7 +8887,7 @@
FAIL;
operands[1] = gen_rtx_COMPARE (mode,
- rs6000_compare_op0, rs6000_compare_op1);
+ rs6000_compare_op0, rs6000_compare_op1);
operands[2] = gen_reg_rtx (mode);
}")
@@ -8891,7 +8898,7 @@
""
"
{ operands[1] = gen_rtx_COMPARE (CCUNSmode,
- rs6000_compare_op0, rs6000_compare_op1);
+ rs6000_compare_op0, rs6000_compare_op1);
operands[2] = gen_reg_rtx (CCUNSmode);
}")
@@ -8902,7 +8909,7 @@
""
"
{ operands[1] = gen_rtx_COMPARE (CCUNSmode,
- rs6000_compare_op0, rs6000_compare_op1);
+ rs6000_compare_op0, rs6000_compare_op1);
operands[2] = gen_reg_rtx (CCUNSmode);
}")
@@ -8913,7 +8920,7 @@
""
"
{ operands[1] = gen_rtx_COMPARE (CCUNSmode,
- rs6000_compare_op0, rs6000_compare_op1);
+ rs6000_compare_op0, rs6000_compare_op1);
operands[2] = gen_reg_rtx (CCUNSmode);
}")
@@ -8924,7 +8931,7 @@
""
"
{ operands[1] = gen_rtx_COMPARE (CCUNSmode,
- rs6000_compare_op0, rs6000_compare_op1);
+ rs6000_compare_op0, rs6000_compare_op1);
operands[2] = gen_reg_rtx (CCUNSmode);
}")
@@ -10368,7 +10375,7 @@
"TARGET_32BIT"
"
{ operands[0] = force_reg (SImode, operands[0]);
- operands[2] = force_reg (SImode, gen_rtx_LABEL_REF (VOIDmode, operands[1]));
+ operands[2] = force_reg (SImode, gen_rtx_LABEL_REF (SImode, operands[1]));
operands[3] = gen_reg_rtx (SImode);
}")
@@ -10381,7 +10388,7 @@
"TARGET_64BIT"
"
{ operands[0] = force_reg (DImode, operands[0]);
- operands[2] = force_reg (DImode, gen_rtx_LABEL_REF (VOIDmode, operands[1]));
+ operands[2] = force_reg (DImode, gen_rtx_LABEL_REF (SImode, operands[1]));
operands[3] = gen_reg_rtx (DImode);
}")
OpenPOWER on IntegriCloud