1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fno-toplevel-reorder -mtune=bdver2" } */
3 /* { dg-additional-options "-mregparm=1 -msse -mfpmath=sse" { target ia32 } } */
4 
5 void __attribute__ ((hot))
f1(int x)6 f1 (int x)
7 {
8   register float f asm ("%xmm0") = x;
9   asm volatile ("" :: "x" (f));
10 }
11 
12 void __attribute__ ((cold))
f2(int x)13 f2 (int x)
14 {
15   register float f asm ("%xmm1") = x;
16   asm volatile ("" :: "x" (f));
17 }
18 
19 void __attribute__ ((hot))
f3(int x)20 f3 (int x)
21 {
22   register float f asm ("%xmm2") = x;
23   asm volatile ("" :: "x" (f));
24 }
25 
26 void __attribute__ ((cold))
f4(int x)27 f4 (int x)
28 {
29   register float f asm ("%xmm3") = x;
30   asm volatile ("" :: "x" (f));
31 }
32 
33 /* { dg-final { scan-assembler "sp\\\), %xmm0" } } */
34 /* { dg-final { scan-assembler "(ax|di), %xmm1" } } */
35 /* { dg-final { scan-assembler "sp\\\), %xmm2" } } */
36 /* { dg-final { scan-assembler "(ax|di), %xmm3" } } */
37