| /* { dg-do assemble { target { avx512f && { ! ia32 } } } } */ |
| /* { dg-options "-O2 -mavx512f -mfpmath=387,sse" } */ |
| |
| void |
| f1 (double *p) |
| { |
| register float x __asm ("xmm16"); |
| x = *p; |
| __asm volatile ("" : "+v" (x)); |
| } |
| |
| void |
| f2 (void) |
| { |
| double d; |
| register float x __asm ("xmm16"); |
| __asm volatile ("" : "=t" (d)); |
| x = d; |
| __asm volatile ("" : "+v" (x)); |
| } |
| |
| void |
| f3 (long double *p) |
| { |
| register float x __asm ("xmm16"); |
| x = *p; |
| __asm volatile ("" : "+v" (x)); |
| } |
| |
| void |
| f4 (void) |
| { |
| long double d; |
| register float x __asm ("xmm16"); |
| __asm volatile ("" : "=t" (d)); |
| x = d; |
| __asm volatile ("" : "+v" (x)); |
| } |