i386.c (ix86_expand_sse_compare_and_jump): Use mode provided by ix86_fp_compare_mode instead of CCFPUmode.

* config/i386/i386.c (ix86_expand_sse_compare_and_jump): Use mode
	provided by ix86_fp_compare_mode instead of CCFPUmode.

testsuite/:
	* gcc.target/i386/builtin-ucmp.c: New test.

From-SVN: r203483
This commit is contained in:
Alexander Monakov 2013-10-12 16:48:23 +04:00 committed by Alexander Monakov
parent f89163fd48
commit b86a70ff8d
4 changed files with 21 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2013-10-12 Alexander Monakov <amonakov@ispras.ru>
* config/i386/i386.c (ix86_expand_sse_compare_and_jump): Use mode
provided by ix86_fp_compare_mode instead of CCFPUmode.
2013-10-12 James Greenhalgh <james.greenhalgh@arm.com>
* config/aarch64/arm_neon.h

View File

@ -38289,6 +38289,7 @@ static rtx
ix86_expand_sse_compare_and_jump (enum rtx_code code, rtx op0, rtx op1,
bool swap_operands)
{
enum machine_mode fpcmp_mode = ix86_fp_compare_mode (code);
rtx label, tmp;
if (swap_operands)
@ -38299,9 +38300,9 @@ ix86_expand_sse_compare_and_jump (enum rtx_code code, rtx op0, rtx op1,
}
label = gen_label_rtx ();
tmp = gen_rtx_REG (CCFPUmode, FLAGS_REG);
tmp = gen_rtx_REG (fpcmp_mode, FLAGS_REG);
emit_insn (gen_rtx_SET (VOIDmode, tmp,
gen_rtx_COMPARE (CCFPUmode, op0, op1)));
gen_rtx_COMPARE (fpcmp_mode, op0, op1)));
tmp = gen_rtx_fmt_ee (code, VOIDmode, tmp, const0_rtx);
tmp = gen_rtx_IF_THEN_ELSE (VOIDmode, tmp,
gen_rtx_LABEL_REF (VOIDmode, label), pc_rtx);

View File

@ -1,3 +1,7 @@
2013-10-12 Alexander Monakov <amonakov@ispras.ru>
* gcc.target/i386/builtin-ucmp.c: New test.
2013-10-11 Brooks Moses <bmoses@google.com>
* g++.dg/ext/altivec-7.C: Check for standard vector-type name

View File

@ -0,0 +1,9 @@
/* { dg-do compile } */
/* { dg-options "-O2 -ffast-math -mfpmath=sse -msse2" } */
double foo(double a)
{
return __builtin_round(a);
}
/* { dg-final { scan-assembler-not "ucom" } } */