mirror of git://gcc.gnu.org/git/gcc.git
[RS6000] Force source of fix_trunc<mode>si2 to reg
* config/rs6000/rs6000.md (fix_trunc<mode>si2): Force source operand to a reg. Localize vars. From-SVN: r239011
This commit is contained in:
parent
819c714522
commit
d1f0a70a12
|
|
@ -1,3 +1,8 @@
|
|||
2016-08-03 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* config/rs6000/rs6000.md (fix_trunc<mode>si2): Force source operand
|
||||
to a reg. Localize vars.
|
||||
|
||||
2016-08-03 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* config/rs6000/rs6000.opt: Remove negatives from help strings
|
||||
|
|
|
|||
|
|
@ -5357,15 +5357,15 @@
|
|||
{
|
||||
if (!<E500_CONVERT>)
|
||||
{
|
||||
rtx tmp, stack;
|
||||
rtx src = force_reg (SFmode, operands[1]);
|
||||
|
||||
if (TARGET_STFIWX)
|
||||
emit_insn (gen_fix_trunc<mode>si2_stfiwx (operands[0], operands[1]));
|
||||
emit_insn (gen_fix_trunc<mode>si2_stfiwx (operands[0], src));
|
||||
else
|
||||
{
|
||||
tmp = gen_reg_rtx (DImode);
|
||||
stack = rs6000_allocate_stack_temp (DImode, true, false);
|
||||
emit_insn (gen_fix_trunc<mode>si2_internal (operands[0], operands[1],
|
||||
rtx tmp = gen_reg_rtx (DImode);
|
||||
rtx stack = rs6000_allocate_stack_temp (DImode, true, false);
|
||||
emit_insn (gen_fix_trunc<mode>si2_internal (operands[0], src,
|
||||
tmp, stack));
|
||||
}
|
||||
DONE;
|
||||
|
|
|
|||
Loading…
Reference in New Issue