1/* PR target/6753 2 This testcase was miscompiled because sse_mov?fcc_const0* 3 patterns were missing earlyclobber. */ 4 5/* { dg-do run } */ 6/* { dg-options "-O2 -msse -mfpmath=sse -ffast-math" } */ 7/* { dg-require-effective-target sse } */ 8 9#include "sse-check.h" 10 11float one = 1.f; 12 13void bar (float f) 14{ 15 if (__builtin_memcmp (&one, &f, sizeof (float))) 16 abort (); 17} 18 19float foo (void) 20{ 21 return 1.f; 22} 23 24typedef struct 25{ 26 float t; 27} T; 28 29static void 30sse_test (void) 31{ 32 int i; 33 T x[1]; 34 35 for (i = 0; i < 1; i++) 36 { 37 x[i].t = foo (); 38 x[i].t = 0.f > x[i].t ? 0.f : x[i].t; 39 bar (x[i].t); 40 } 41} 42