aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/movdir-1.c
blob: ebd3e2d27af4d945268133865e77ed078fd087ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/* { dg-do compile } */
/* { dg-options "-mmovdir64b -mmovdiri -O2" } */
/* { dg-final { scan-assembler-times "movdiri" 1 { target ia32 } } } */
/* { dg-final { scan-assembler-times "movdiri" 2 { target { ! ia32 } } } } */
/* { dg-final { scan-assembler "movdir64b\[ \\t\]" } } */

#include <x86intrin.h>

unsigned int w;
void *x;
unsigned long long q, *z;

int
main ()
{

   unsigned int array[] = {1, 2, 3, 4, 5};
   unsigned int *ap = &w;

   _directstoreu_u32(x, w);

#ifdef __x86_64__
   _directstoreu_u64(z, q);
#endif

   _movdir64b(ap, array);

return 0;
}