/* APPLE LOCAL file 4448096 */ /* { dg-do compile { target i?86-*-* } } */ /* APPLE LOCAL x86_64 */ /* { dg-require-effective-target ilp32 } */ /* { dg-options "-O2 -mpreferred-stack-boundary=2 -mfpmath=sse -msse2" } */ #include <stdlib.h> double d = 42.0; unsigned int i; main () { i = d; return 0; } /* The SSE-only double -> uint32 conversion uses several vector instructions (including "maxsd"), and any spills amongst these requires an SSE-aligned stack. -mpreferred-stack-boundary=2 means "4-byte aligned stack," therefore the compiler must not emit any vector-mode instructions for this testcase. */ /* { dg-final { scan-assembler-not "maxsd" } } */