blob: d20a672593826dc3dcb672171659716b9ae4067f [file] [log] [blame]
/* PR target/84786 */
/* { dg-do run { target { ! ia32 } } } */
/* { dg-options "-mavx512f -mno-avx512vl -O2" } */
/* { dg-require-effective-target avx512f } */
#include "avx512f-check.h"
typedef double V __attribute__((vector_size (16)));
__attribute__((noipa)) V
foo (V x, double y)
{
register double z __asm ("xmm18");
asm volatile ("" : "=v" (z) : "0" (y));
x[1] = z;
return x;
}
static void
avx512f_test (void)
{
V a = foo ((V) { 1.0, 2.0 }, 3.0);
if (a[0] != 1.0 || a[1] != 3.0)
abort ();
}