blob: acfbe311aac1425ca568d032edff9a8f7295e868 [file] [log] [blame]
/* { 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));
}