aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/pr82142a.c
blob: a536150267c52c5e3fe339a9594710e030ba76e2 (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
31
32
/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mno-avx -msse2 -fasynchronous-unwind-tables -fdwarf2-cfi-asm" } */
/* Keep labels and directives ('.cfi_startproc', '.cfi_endproc').  */
/* { dg-final { check-function-bodies "**" "" "" { target "*-*-*" } {^\t?\.}  } } */

/*
**assignzero:
**.LFB0:
**	.cfi_startproc
**	pxor	%xmm0, %xmm0
**	movups	%xmm0, 32\(%(?:r|e)di\)
**	movups	%xmm0, \(%(?:r|e)di\)
**	movups	%xmm0, 16\(%(?:r|e)di\)
**	movups	%xmm0, 44\(%(?:r|e)di\)
**	ret
**...
*/

typedef struct
{
  int a, b, c;
  char j, k, k1;
  int l, m, n[8];
  char c1, c2;
} foo;

void
assignzero (foo *p)
{
  foo tmp = {};
  *p = tmp;
}