diff options
Diffstat (limited to 'gcc/config/rs6000/rs6000.md')
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 121 |
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); }") |