rs6000.md (addsi3, [...]): Use no_new_pseudos.
* rs6000.md (addsi3, iorsi3, xorsi3, adddi3, iordi3, xordi3, movsi_got, movsi, movsf): Use no_new_pseudos. * rs6000.c (rs6000_got_register): Likewise. (offsettable_mem_opereand): Use || not |. From-SVN: r26165
This commit is contained in:
parent
d343abd2e8
commit
677a966854
@ -1,3 +1,10 @@
|
||||
Sat Apr 3 23:46:13 1999 David Edelsohn <edelsohn@gnu.org>
|
||||
|
||||
* rs6000.md (addsi3, iorsi3, xorsi3, adddi3, iordi3, xordi3,
|
||||
movsi_got, movsi, movsf): Use no_new_pseudos.
|
||||
* rs6000.c (rs6000_got_register): Likewise.
|
||||
(offsettable_mem_opereand): Use || not |.
|
||||
|
||||
Sat Apr 3 22:02:56 1999 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* acconfig.h (ENABLE_CHECKING): Remove redundant #undef.
|
||||
|
@ -854,7 +854,7 @@ offsettable_mem_operand (op, mode)
|
||||
enum machine_mode mode;
|
||||
{
|
||||
return ((GET_CODE (op) == MEM)
|
||||
&& offsettable_address_p (reload_completed | reload_in_progress,
|
||||
&& offsettable_address_p (reload_completed || reload_in_progress,
|
||||
mode, XEXP (op, 0)));
|
||||
}
|
||||
|
||||
@ -2335,10 +2335,11 @@ struct rtx_def *
|
||||
rs6000_got_register (value)
|
||||
rtx value;
|
||||
{
|
||||
if (!current_function_uses_pic_offset_table || !pic_offset_table_rtx)
|
||||
if (! current_function_uses_pic_offset_table || ! pic_offset_table_rtx)
|
||||
{
|
||||
if (reload_in_progress || reload_completed)
|
||||
fatal_insn ("internal error -- needed new GOT register during reload phase to load:", value);
|
||||
if (no_new_pseudos)
|
||||
fatal_insn ("internal error -- needed new GOT register during reload phase to load:",
|
||||
value);
|
||||
|
||||
current_function_uses_pic_offset_table = 1;
|
||||
pic_offset_table_rtx = gen_rtx_REG (Pmode, GOT_TOC_REGNUM);
|
||||
|
@ -895,10 +895,10 @@
|
||||
""
|
||||
"
|
||||
{
|
||||
if (GET_CODE (operands[2]) == CONST_INT && !add_operand (operands[2], SImode))
|
||||
if (GET_CODE (operands[2]) == CONST_INT
|
||||
&& ! add_operand (operands[2], SImode))
|
||||
{
|
||||
rtx tmp = ((reload_in_progress || reload_completed
|
||||
|| rtx_equal_p (operands[0], operands[1]))
|
||||
rtx tmp = ((no_new_pseudos || rtx_equal_p (operands[0], operands[1]))
|
||||
? operands[0] : gen_reg_rtx (SImode));
|
||||
|
||||
HOST_WIDE_INT low = INTVAL (operands[2]) & 0xffff;
|
||||
@ -1953,11 +1953,10 @@
|
||||
"
|
||||
{
|
||||
if (GET_CODE (operands[2]) == CONST_INT
|
||||
&& !logical_operand (operands[2], SImode))
|
||||
&& ! logical_operand (operands[2], SImode))
|
||||
{
|
||||
HOST_WIDE_INT value = INTVAL (operands[2]);
|
||||
rtx tmp = ((reload_in_progress || reload_completed
|
||||
|| rtx_equal_p (operands[0], operands[1]))
|
||||
rtx tmp = ((no_new_pseudos || rtx_equal_p (operands[0], operands[1]))
|
||||
? operands[0] : gen_reg_rtx (SImode));
|
||||
|
||||
emit_insn (gen_iorsi3 (tmp, operands[1],
|
||||
@ -2061,11 +2060,10 @@
|
||||
"
|
||||
{
|
||||
if (GET_CODE (operands[2]) == CONST_INT
|
||||
&& !logical_operand (operands[2], SImode))
|
||||
&& ! logical_operand (operands[2], SImode))
|
||||
{
|
||||
HOST_WIDE_INT value = INTVAL (operands[2]);
|
||||
rtx tmp = ((reload_in_progress || reload_completed
|
||||
|| rtx_equal_p (operands[0], operands[1]))
|
||||
rtx tmp = ((no_new_pseudos || rtx_equal_p (operands[0], operands[1]))
|
||||
? operands[0] : gen_reg_rtx (SImode));
|
||||
|
||||
emit_insn (gen_xorsi3 (tmp, operands[1],
|
||||
@ -4798,10 +4796,9 @@
|
||||
}
|
||||
else
|
||||
if (GET_CODE (operands[2]) == CONST_INT
|
||||
&& !add_operand (operands[2], DImode))
|
||||
&& ! add_operand (operands[2], DImode))
|
||||
{
|
||||
rtx tmp = ((reload_in_progress || reload_completed
|
||||
|| rtx_equal_p (operands[0], operands[1]))
|
||||
rtx tmp = ((no_new_pseudos || rtx_equal_p (operands[0], operands[1]))
|
||||
? operands[0] : gen_reg_rtx (DImode));
|
||||
|
||||
HOST_WIDE_INT low = INTVAL (operands[2]) & 0xffff;
|
||||
@ -5489,11 +5486,10 @@
|
||||
"
|
||||
{
|
||||
if (GET_CODE (operands[2]) == CONST_INT
|
||||
&& !logical_operand (operands[2], DImode))
|
||||
&& ! logical_operand (operands[2], DImode))
|
||||
{
|
||||
HOST_WIDE_INT value = INTVAL (operands[2]);
|
||||
rtx tmp = ((reload_in_progress || reload_completed
|
||||
|| rtx_equal_p (operands[0], operands[1]))
|
||||
rtx tmp = ((no_new_pseudos || rtx_equal_p (operands[0], operands[1]))
|
||||
? operands[0] : gen_reg_rtx (DImode));
|
||||
|
||||
emit_insn (gen_iordi3 (tmp, operands[1],
|
||||
@ -5558,11 +5554,10 @@
|
||||
"
|
||||
{
|
||||
if (GET_CODE (operands[2]) == CONST_INT
|
||||
&& !logical_operand (operands[2], DImode))
|
||||
&& ! logical_operand (operands[2], DImode))
|
||||
{
|
||||
HOST_WIDE_INT value = INTVAL (operands[2]);
|
||||
rtx tmp = ((reload_in_progress || reload_completed
|
||||
|| rtx_equal_p (operands[0], operands[1]))
|
||||
rtx tmp = ((no_new_pseudos || rtx_equal_p (operands[0], operands[1]))
|
||||
? operands[0] : gen_reg_rtx (DImode));
|
||||
|
||||
emit_insn (gen_xordi3 (tmp, operands[1],
|
||||
@ -5796,9 +5791,7 @@
|
||||
value = INTVAL (offset);
|
||||
if (value != 0)
|
||||
{
|
||||
rtx tmp = ((reload_in_progress || reload_completed)
|
||||
? operands[0]
|
||||
: gen_reg_rtx (Pmode));
|
||||
rtx tmp = (no_new_pseudos ? operands[0] : gen_reg_rtx (Pmode));
|
||||
emit_insn (gen_movsi_got (tmp, operands[1]));
|
||||
emit_insn (gen_addsi3 (operands[0], tmp, offset));
|
||||
DONE;
|
||||
@ -5885,14 +5878,13 @@
|
||||
DONE;
|
||||
}
|
||||
|
||||
if (TARGET_ELF && TARGET_NO_TOC && !TARGET_64BIT
|
||||
&& !flag_pic
|
||||
if (TARGET_ELF && TARGET_NO_TOC && ! TARGET_64BIT
|
||||
&& ! flag_pic
|
||||
&& CONSTANT_P (operands[1])
|
||||
&& GET_CODE (operands[1]) != HIGH
|
||||
&& GET_CODE (operands[1]) != CONST_INT)
|
||||
{
|
||||
rtx target = (reload_completed || reload_in_progress)
|
||||
? operands[0] : gen_reg_rtx (SImode);
|
||||
rtx target = (no_new_pseudos ? operands[0] : gen_reg_rtx (SImode));
|
||||
|
||||
/* If this is a function address on -mcall-aixdesc or -mcall-nt,
|
||||
convert it to the address of the descriptor. */
|
||||
@ -5918,7 +5910,7 @@
|
||||
|
||||
if (GET_CODE (operands[1]) == CONST
|
||||
&& DEFAULT_ABI == ABI_NT
|
||||
&& !side_effects_p (operands[0]))
|
||||
&& ! side_effects_p (operands[0]))
|
||||
{
|
||||
rtx const_term = const0_rtx;
|
||||
rtx sym = eliminate_constant_term (XEXP (operands[1], 0), &const_term);
|
||||
@ -5926,10 +5918,9 @@
|
||||
&& (GET_CODE (sym) == SYMBOL_REF || GET_CODE (sym) == LABEL_REF))
|
||||
{
|
||||
unsigned HOST_WIDE_INT value = INTVAL (const_term);
|
||||
int new_reg_p = (flag_expensive_optimizations
|
||||
&& !reload_completed
|
||||
&& !reload_in_progress);
|
||||
rtx tmp1 = (new_reg_p && value != 0) ? gen_reg_rtx (SImode) : operands[0];
|
||||
int new_reg_p = (flag_expensive_optimizations && ! no_new_pseudos);
|
||||
rtx tmp1 = ((new_reg_p && value != 0)
|
||||
? gen_reg_rtx (SImode) : operands[0]);
|
||||
|
||||
emit_insn (gen_movsi (tmp1, sym));
|
||||
if (INTVAL (const_term) != 0)
|
||||
@ -5940,7 +5931,7 @@
|
||||
rs6000_fatal_bad_address (operands[1]);
|
||||
}
|
||||
|
||||
if ((!TARGET_WINDOWS_NT || DEFAULT_ABI != ABI_NT)
|
||||
if ((! TARGET_WINDOWS_NT || DEFAULT_ABI != ABI_NT)
|
||||
&& CONSTANT_P (operands[1])
|
||||
&& GET_CODE (operands[1]) != CONST_INT
|
||||
&& GET_CODE (operands[1]) != HIGH
|
||||
@ -6161,8 +6152,7 @@
|
||||
&& (FP_REGNO_P (REGNO (operands[1]))
|
||||
|| REGNO (operands[1]) >= FIRST_PSEUDO_REGISTER))
|
||||
{
|
||||
rtx newreg
|
||||
= reload_in_progress ? operands[1] : gen_reg_rtx (SFmode);
|
||||
rtx newreg = (no_new_pseudos ? operands[1] : gen_reg_rtx (SFmode));
|
||||
emit_insn (gen_aux_truncdfsf2 (newreg, operands[1]));
|
||||
operands[1] = newreg;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user