/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-march=x86-64-v3 -mavx10.2-512 -mmovrs -O2" } */
-/* { dg-final { scan-assembler-times "vmovrsb\[ \\t\]\+\\(%r.x\\), %zmm\[0-9\]+" 3 } } */
-/* { dg-final { scan-assembler-times "vmovrsb\[ \\t\]\+\\(%r.x\\), %zmm\[0-9\]+{%k\[1-7\]}" 2 } } */
-/* { dg-final { scan-assembler-times "vmovrsb\[ \\t\]\+\\(%r.x\\), %zmm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
-/* { dg-final { scan-assembler-times "vmovrsd\[ \\t\]\+\\(%r.x\\), %zmm\[0-9\]+" 3 } } */
-/* { dg-final { scan-assembler-times "vmovrsd\[ \\t\]\+\\(%r.x\\), %zmm\[0-9\]+{%k\[1-7\]}" 2 } } */
-/* { dg-final { scan-assembler-times "vmovrsd\[ \\t\]\+\\(%r.x\\), %zmm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
-/* { dg-final { scan-assembler-times "vmovrsq\[ \\t\]\+\\(%r.x\\), %zmm\[0-9\]+" 3 } } */
-/* { dg-final { scan-assembler-times "vmovrsq\[ \\t\]\+\\(%r.x\\), %zmm\[0-9\]+{%k\[1-7\]}" 2 } } */
-/* { dg-final { scan-assembler-times "vmovrsq\[ \\t\]\+\\(%r.x\\), %zmm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
-/* { dg-final { scan-assembler-times "vmovrsw\[ \\t\]\+\\(%r.x\\), %zmm\[0-9\]+" 3 } } */
-/* { dg-final { scan-assembler-times "vmovrsw\[ \\t\]\+\\(%r.x\\), %zmm\[0-9\]+{%k\[1-7\]}" 2 } } */
-/* { dg-final { scan-assembler-times "vmovrsw\[ \\t\]\+\\(%r.x\\), %zmm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
+/* { dg-final { scan-assembler-times "vmovrsb\[ \\t\]\+\\(%(?:r|e).x\\), %zmm\[0-9\]+" 3 } } */
+/* { dg-final { scan-assembler-times "vmovrsb\[ \\t\]\+\\(%(?:r|e).x\\), %zmm\[0-9\]+{%k\[1-7\]}" 2 } } */
+/* { dg-final { scan-assembler-times "vmovrsb\[ \\t\]\+\\(%(?:r|e).x\\), %zmm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
+/* { dg-final { scan-assembler-times "vmovrsd\[ \\t\]\+\\(%(?:r|e).x\\), %zmm\[0-9\]+" 3 } } */
+/* { dg-final { scan-assembler-times "vmovrsd\[ \\t\]\+\\(%(?:r|e).x\\), %zmm\[0-9\]+{%k\[1-7\]}" 2 } } */
+/* { dg-final { scan-assembler-times "vmovrsd\[ \\t\]\+\\(%(?:r|e).x\\), %zmm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
+/* { dg-final { scan-assembler-times "vmovrsq\[ \\t\]\+\\(%(?:r|e).x\\), %zmm\[0-9\]+" 3 } } */
+/* { dg-final { scan-assembler-times "vmovrsq\[ \\t\]\+\\(%(?:r|e).x\\), %zmm\[0-9\]+{%k\[1-7\]}" 2 } } */
+/* { dg-final { scan-assembler-times "vmovrsq\[ \\t\]\+\\(%(?:r|e).x\\), %zmm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
+/* { dg-final { scan-assembler-times "vmovrsw\[ \\t\]\+\\(%(?:r|e).x\\), %zmm\[0-9\]+" 3 } } */
+/* { dg-final { scan-assembler-times "vmovrsw\[ \\t\]\+\\(%(?:r|e).x\\), %zmm\[0-9\]+{%k\[1-7\]}" 2 } } */
+/* { dg-final { scan-assembler-times "vmovrsw\[ \\t\]\+\\(%(?:r|e).x\\), %zmm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
#include <immintrin.h>
/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-march=x86-64-v3 -mavx10.2 -mmovrs -O2" } */
-/* { dg-final { scan-assembler-times "vmovrsb\[ \\t\]\+\\(%r.x\\), %ymm\[0-9\]+" 3 } } */
-/* { dg-final { scan-assembler-times "vmovrsb\[ \\t\]\+\\(%r.x\\), %ymm\[0-9\]+{%k\[1-7\]}" 2 } } */
-/* { dg-final { scan-assembler-times "vmovrsb\[ \\t\]\+\\(%r.x\\), %ymm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
-/* { dg-final { scan-assembler-times "vmovrsd\[ \\t\]\+\\(%r.x\\), %ymm\[0-9\]+" 3 } } */
-/* { dg-final { scan-assembler-times "vmovrsd\[ \\t\]\+\\(%r.x\\), %ymm\[0-9\]+{%k\[1-7\]}" 2 } } */
-/* { dg-final { scan-assembler-times "vmovrsd\[ \\t\]\+\\(%r.x\\), %ymm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
-/* { dg-final { scan-assembler-times "vmovrsq\[ \\t\]\+\\(%r.x\\), %ymm\[0-9\]+" 3 } } */
-/* { dg-final { scan-assembler-times "vmovrsq\[ \\t\]\+\\(%r.x\\), %ymm\[0-9\]+{%k\[1-7\]}" 2 } } */
-/* { dg-final { scan-assembler-times "vmovrsq\[ \\t\]\+\\(%r.x\\), %ymm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
-/* { dg-final { scan-assembler-times "vmovrsw\[ \\t\]\+\\(%r.x\\), %ymm\[0-9\]+" 3 } } */
-/* { dg-final { scan-assembler-times "vmovrsw\[ \\t\]\+\\(%r.x\\), %ymm\[0-9\]+{%k\[1-7\]}" 2 } } */
-/* { dg-final { scan-assembler-times "vmovrsw\[ \\t\]\+\\(%r.x\\), %ymm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
-/* { dg-final { scan-assembler-times "vmovrsb\[ \\t\]\+\\(%r.x\\), %xmm\[0-9\]+" 3 } } */
-/* { dg-final { scan-assembler-times "vmovrsb\[ \\t\]\+\\(%r.x\\), %xmm\[0-9\]+{%k\[1-7\]}" 2 } } */
-/* { dg-final { scan-assembler-times "vmovrsb\[ \\t\]\+\\(%r.x\\), %xmm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
-/* { dg-final { scan-assembler-times "vmovrsd\[ \\t\]\+\\(%r.x\\), %xmm\[0-9\]+" 3 } } */
-/* { dg-final { scan-assembler-times "vmovrsd\[ \\t\]\+\\(%r.x\\), %xmm\[0-9\]+{%k\[1-7\]}" 2 } } */
-/* { dg-final { scan-assembler-times "vmovrsd\[ \\t\]\+\\(%r.x\\), %xmm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
-/* { dg-final { scan-assembler-times "vmovrsq\[ \\t\]\+\\(%r.x\\), %xmm\[0-9\]+" 3 } } */
-/* { dg-final { scan-assembler-times "vmovrsq\[ \\t\]\+\\(%r.x\\), %xmm\[0-9\]+{%k\[1-7\]}" 2 } } */
-/* { dg-final { scan-assembler-times "vmovrsq\[ \\t\]\+\\(%r.x\\), %xmm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
-/* { dg-final { scan-assembler-times "vmovrsw\[ \\t\]\+\\(%r.x\\), %xmm\[0-9\]+" 3 } } */
-/* { dg-final { scan-assembler-times "vmovrsw\[ \\t\]\+\\(%r.x\\), %xmm\[0-9\]+{%k\[1-7\]}" 2 } } */
-/* { dg-final { scan-assembler-times "vmovrsw\[ \\t\]\+\\(%r.x\\), %xmm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
+/* { dg-final { scan-assembler-times "vmovrsb\[ \\t\]\+\\(%(?:r|e).x\\), %ymm\[0-9\]+" 3 } } */
+/* { dg-final { scan-assembler-times "vmovrsb\[ \\t\]\+\\(%(?:r|e).x\\), %ymm\[0-9\]+{%k\[1-7\]}" 2 } } */
+/* { dg-final { scan-assembler-times "vmovrsb\[ \\t\]\+\\(%(?:r|e).x\\), %ymm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
+/* { dg-final { scan-assembler-times "vmovrsd\[ \\t\]\+\\(%(?:r|e).x\\), %ymm\[0-9\]+" 3 } } */
+/* { dg-final { scan-assembler-times "vmovrsd\[ \\t\]\+\\(%(?:r|e).x\\), %ymm\[0-9\]+{%k\[1-7\]}" 2 } } */
+/* { dg-final { scan-assembler-times "vmovrsd\[ \\t\]\+\\(%(?:r|e).x\\), %ymm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
+/* { dg-final { scan-assembler-times "vmovrsq\[ \\t\]\+\\(%(?:r|e).x\\), %ymm\[0-9\]+" 3 } } */
+/* { dg-final { scan-assembler-times "vmovrsq\[ \\t\]\+\\(%(?:r|e).x\\), %ymm\[0-9\]+{%k\[1-7\]}" 2 } } */
+/* { dg-final { scan-assembler-times "vmovrsq\[ \\t\]\+\\(%(?:r|e).x\\), %ymm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
+/* { dg-final { scan-assembler-times "vmovrsw\[ \\t\]\+\\(%(?:r|e).x\\), %ymm\[0-9\]+" 3 } } */
+/* { dg-final { scan-assembler-times "vmovrsw\[ \\t\]\+\\(%(?:r|e).x\\), %ymm\[0-9\]+{%k\[1-7\]}" 2 } } */
+/* { dg-final { scan-assembler-times "vmovrsw\[ \\t\]\+\\(%(?:r|e).x\\), %ymm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
+/* { dg-final { scan-assembler-times "vmovrsb\[ \\t\]\+\\(%(?:r|e).x\\), %xmm\[0-9\]+" 3 } } */
+/* { dg-final { scan-assembler-times "vmovrsb\[ \\t\]\+\\(%(?:r|e).x\\), %xmm\[0-9\]+{%k\[1-7\]}" 2 } } */
+/* { dg-final { scan-assembler-times "vmovrsb\[ \\t\]\+\\(%(?:r|e).x\\), %xmm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
+/* { dg-final { scan-assembler-times "vmovrsd\[ \\t\]\+\\(%(?:r|e).x\\), %xmm\[0-9\]+" 3 } } */
+/* { dg-final { scan-assembler-times "vmovrsd\[ \\t\]\+\\(%(?:r|e).x\\), %xmm\[0-9\]+{%k\[1-7\]}" 2 } } */
+/* { dg-final { scan-assembler-times "vmovrsd\[ \\t\]\+\\(%(?:r|e).x\\), %xmm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
+/* { dg-final { scan-assembler-times "vmovrsq\[ \\t\]\+\\(%(?:r|e).x\\), %xmm\[0-9\]+" 3 } } */
+/* { dg-final { scan-assembler-times "vmovrsq\[ \\t\]\+\\(%(?:r|e).x\\), %xmm\[0-9\]+{%k\[1-7\]}" 2 } } */
+/* { dg-final { scan-assembler-times "vmovrsq\[ \\t\]\+\\(%(?:r|e).x\\), %xmm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
+/* { dg-final { scan-assembler-times "vmovrsw\[ \\t\]\+\\(%(?:r|e).x\\), %xmm\[0-9\]+" 3 } } */
+/* { dg-final { scan-assembler-times "vmovrsw\[ \\t\]\+\\(%(?:r|e).x\\), %xmm\[0-9\]+{%k\[1-7\]}" 2 } } */
+/* { dg-final { scan-assembler-times "vmovrsw\[ \\t\]\+\\(%(?:r|e).x\\), %xmm\[0-9\]+{%k\[1-7\]}{z}" 1 } } */
#include <immintrin.h>