1 /* { dg-do assemble { target { avx512f && { ! ia32 } } } } */
2 /* { dg-options "-O2 -mavx512f -mfpmath=387,sse" } */
3
4 void
f1(double * p)5 f1 (double *p)
6 {
7 register float x __asm ("xmm16");
8 x = *p;
9 __asm volatile ("" : "+v" (x));
10 }
11
12 void
f2(void)13 f2 (void)
14 {
15 double d;
16 register float x __asm ("xmm16");
17 __asm volatile ("" : "=t" (d));
18 x = d;
19 __asm volatile ("" : "+v" (x));
20 }
21
22 void
f3(long double * p)23 f3 (long double *p)
24 {
25 register float x __asm ("xmm16");
26 x = *p;
27 __asm volatile ("" : "+v" (x));
28 }
29
30 void
f4(void)31 f4 (void)
32 {
33 long double d;
34 register float x __asm ("xmm16");
35 __asm volatile ("" : "=t" (d));
36 x = d;
37 __asm volatile ("" : "+v" (x));
38 }
39