1 /* { dg-do compile } */ 2 /* { dg-options "-mmovdir64b -mmovdiri -O2" } */ 3 /* { dg-final { scan-assembler-times "movdiri" 1 { target ia32 } } } */ 4 /* { dg-final { scan-assembler-times "movdiri" 2 { target { ! ia32 } } } } */ 5 /* { dg-final { scan-assembler "movdir64b\[ \\t\]" } } */ 6 7 #include <x86intrin.h> 8 9 unsigned int w; 10 void *x; 11 unsigned long long q, *z; 12 13 int main()14main () 15 { 16 17 unsigned int array[] = {1, 2, 3, 4, 5}; 18 unsigned int *ap = &w; 19 20 _directstoreu_u32(x, w); 21 22 #ifdef __x86_64__ 23 _directstoreu_u64(z, q); 24 #endif 25 26 _movdir64b(ap, array); 27 28 return 0; 29 } 30 31