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 5void __attribute__ ((hot)) 6f1 (int x) 7{ 8 register float f asm ("%xmm0") = x; 9 asm volatile ("" :: "x" (f)); 10} 11 12void __attribute__ ((cold)) 13f2 (int x) 14{ 15 register float f asm ("%xmm1") = x; 16 asm volatile ("" :: "x" (f)); 17} 18 19void __attribute__ ((hot)) 20f3 (int x) 21{ 22 register float f asm ("%xmm2") = x; 23 asm volatile ("" :: "x" (f)); 24} 25 26void __attribute__ ((cold)) 27f4 (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