Skip to content
Snippets Groups Projects
Commit bf0aa9dc authored by H.J. Lu's avatar H.J. Lu
Browse files

x86: Add tests for PR tree-optimization/82142


Verify that PR tree-optimization/82142 testcase is properly optimized.

	PR tree-optimization/82142
	* gcc.target/i386/pr82142a.c: New file.
	* gcc.target/i386/pr82142b.c: Likewise.

Signed-off-by: default avatarH.J. Lu <hjl.tools@gmail.com>
parent 4cc54ed1
No related branches found
No related tags found
No related merge requests found
/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -mno-avx -msse2" } */
/* 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;
}
/* { dg-do compile { target ia32 } } */
/* { dg-options "-O2 -mno-avx -msse2" } */
/* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */
/* { dg-final { check-function-bodies "**" "" "" { target "*-*-*" } {^\t?\.} } } */
/*
**assignzero:
**.LFB0:
** .cfi_startproc
** movl 4\(%esp\), %eax
** pxor %xmm0, %xmm0
** movups %xmm0, 32\(%eax\)
** movups %xmm0, \(%eax\)
** movups %xmm0, 16\(%eax\)
** movups %xmm0, 44\(%eax\)
** ret
**...
*/
#include "pr82142a.c"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment