1 /* { dg-do run { target { movdir && { ! ia32 } } } } */ 2 /* { dg-options "-mmovdiri -O2" } */ 3 4 #include <x86intrin.h> 5 #include <cpuid.h> 6 7 unsigned long long int dest = -1LL; 8 9 int main()10main () 11 { 12 unsigned int eax, ebx, ecx, edx; 13 14 if (!__get_cpuid_count (7, 0, &eax, &ebx, &ecx, &edx)) 15 return 0; 16 17 if ((ecx & bit_MOVDIRI) == 0) 18 return 0; 19 20 _directstoreu_u64 (&dest, 0x12345678badbeef); 21 22 if (dest != 0x12345678badbeef) 23 abort (); 24 25 return 0; 26 } 27