1 /* Test that we don't generate a fisttp instruction when -mno-sse3. */
2 /* { dg-do compile } */
3 /* { dg-options "-O -mfpmath=387 -march=nocona -mno-sse3 -mno-avx" } */
4 /* { dg-final { scan-assembler-not "fisttp" } } */
5 struct foo
6 {
7 long a;
8 long b;
9 };
10
11 extern double c;
12
13 extern unsigned long long baz (void);
14
15 int
walrus(const struct foo * input)16 walrus (const struct foo *input)
17 {
18 unsigned long long d;
19
20 d = baz ()
21 + (unsigned long long) (((double) input->a * 1000000000
22 + (double) input->b) * c);
23 return (d ? 1 : 0);
24 }
25