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