summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/pr45739.c
blob: bb36318a51c9dd56792b5cfcd0361f4f745e68a6 (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
/* PR rtl-optimization/45739 */
/* { dg-do compile } */
/* { dg-options "-O2 -msse2" } */

#include <emmintrin.h>

__m128i var;

void
foo (void)
{
  __m128i zero = _mm_setzero_si128 ();
  var = _mm_xor_si128 (zero, var);
}

void
bar (void)
{
  __m128i zero = _mm_setzero_si128 ();
  var = _mm_or_si128 (var, zero);
}

/* { dg-final { scan-assembler-not "pxor\[^\n\]*xmm" } } */
/* { dg-final { scan-assembler-not "por\[^\n\]*xmm" } } */