summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/pr36438.c
blob: 38376b8c90328bc96ca0ce5854e91907b55e7130 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* { dg-do compile } */
/* { dg-options "-O2 -mmmx" } */

#include <mmintrin.h>

extern __m64 SetS16 (unsigned short, unsigned short,
		     unsigned short, unsigned short);

void foo(__m64* dest)
{
  __m64 mask = SetS16 (0x00FF, 0xFF00, 0x0000, 0x00FF);

  mask = _mm_slli_si64(mask, 8);
  mask = _mm_slli_si64(mask, 8);

  *dest = mask;

  _mm_empty ();
}