mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-16 20:39:41 +08:00
* config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
From-SVN: r71526
This commit is contained in:
parent
96123432ff
commit
1d6ba901bb
@ -1,3 +1,7 @@
|
|||||||
|
2003-09-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
|
||||||
|
|
||||||
|
* config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
|
||||||
|
|
||||||
2003-09-18 Roger Sayle <roger@eyesopen.com>
|
2003-09-18 Roger Sayle <roger@eyesopen.com>
|
||||||
|
|
||||||
* tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
|
* tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
|
||||||
|
@ -15621,17 +15621,22 @@ x86_extended_reg_mentioned_p (rtx insn)
|
|||||||
return for_each_rtx (&PATTERN (insn), extended_reg_mentioned_1, NULL);
|
return for_each_rtx (&PATTERN (insn), extended_reg_mentioned_1, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Generate an unsigned DImode to FP conversion. This is the same code
|
/* Generate an unsigned DImode/SImode to FP conversion. This is the same code
|
||||||
optabs would emit if we didn't have TFmode patterns. */
|
optabs would emit if we didn't have TFmode patterns. */
|
||||||
|
|
||||||
void
|
void
|
||||||
x86_emit_floatuns (rtx operands[2])
|
x86_emit_floatuns (rtx operands[2])
|
||||||
{
|
{
|
||||||
rtx neglab, donelab, i0, i1, f0, in, out;
|
rtx neglab, donelab, i0, i1, f0, in, out;
|
||||||
enum machine_mode mode;
|
enum machine_mode mode, inmode;
|
||||||
|
|
||||||
|
inmode = GET_MODE (operands[1]);
|
||||||
|
if (inmode != SImode
|
||||||
|
&& inmode != DImode)
|
||||||
|
abort ();
|
||||||
|
|
||||||
out = operands[0];
|
out = operands[0];
|
||||||
in = force_reg (DImode, operands[1]);
|
in = force_reg (inmode, operands[1]);
|
||||||
mode = GET_MODE (out);
|
mode = GET_MODE (out);
|
||||||
neglab = gen_label_rtx ();
|
neglab = gen_label_rtx ();
|
||||||
donelab = gen_label_rtx ();
|
donelab = gen_label_rtx ();
|
||||||
|
Loading…
Reference in New Issue
Block a user