Commit 0d5fd2b8 by Uros Bizjak Committed by Uros Bizjak

re PR target/36073 (ICE with -ffast-math and -mfpmath=sse,387)

        PR target/36073
        * config/i386/i386.md
        (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit):
        Change operand 1 predicate to nonimmediate_operand.

testsuite/ChangeLog:

        PR target/36073
        * gcc.target/i386/pr36073.c: New test.

From-SVN: r134757
parent 177bf491
2008-04-28 Uros Bizjak <ubizjak@gmail.com>
PR target/36073
* config/i386/i386.md
(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit):
Change operand 1 predicate to nonimmediate_operand.
2008-04-28 Jakub Jelinek <jakub@redhat.com>
PR debug/36060
......@@ -16,7 +23,8 @@
2008-04-28 Uros Bizjak <ubizjak@gmail.com>
PR target/36064
* config/i386/i386.md (floatdi<X87MODEF:mode>2_i387_with_xmm splitters):
* config/i386/i386.md
(floatdi<X87MODEF:mode>2_i387_with_xmm splitters):
Use match_scratch instead of match_operand for operands 3 and 4.
2008-04-27 Richard Guenther <rguenther@suse.de>
......
......@@ -5035,7 +5035,7 @@
(define_insn "*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit"
[(set (match_operand:MODEF 0 "register_operand" "=f,x,x")
(float:MODEF
(match_operand:SSEMODEI24 1 "register_operand" "m,r,m")))]
(match_operand:SSEMODEI24 1 "nonimmediate_operand" "m,r,m")))]
"(<SSEMODEI24:MODE>mode != DImode || TARGET_64BIT)
&& SSE_FLOAT_MODE_P (<MODEF:MODE>mode) && TARGET_MIX_SSE_I387
&& (TARGET_INTER_UNIT_CONVERSIONS || optimize_size)"
......
2008-04-28 Uros Bizjak <ubizjak@gmail.com>
PR target/36073
* gcc.target/i386/pr36073.c: New test.
2008-04-28 Richard Guenther <rguenther@suse.de>
PR testsuite/34223
/* { dg-do compile } */
/* { dg-options "-O -march=core2 -mfpmath=sse,387 -ffast-math" } */
extern double log (double x);
extern int f (void);
double cached_value;
void g (void)
{
cached_value = log (f ());
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment