1 /* { dg-do compile } */
2 /* { dg-options "-O2 -march=haswell -mno-stackrealign" } */
3
4 extern int numBins;
5 extern int binOffst;
6 extern int binWidth;
7 extern int Trybin;
8 void foo (int);
9
10 void bar (int aleft, int axcenter)
11 {
12 int a1LoBin = (((Trybin=((axcenter + aleft)-binOffst)/binWidth)<0)
13 ? 0 : ((Trybin>numBins) ? numBins : Trybin));
14 foo (a1LoBin);
15 }
16
17 /* We do not want the RA to spill %esi for it's dual-use but using
18 pminsd is OK. */
19 /* { dg-final { scan-assembler-not "rsp" { target { ! { ia32 } } } } } */
20 /* { dg-final { scan-assembler "pminsd" } } */