summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/other/pr34435.C
blob: 107ff6a088b567ffd53b5eeb46dce994b54386ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-msse2 -Wno-abi" } */
/* { dg-require-effective-target sse2 } */

#include <emmintrin.h>

class Vec {
    __m128i vec;
public:
    Vec(int mm) {
        vec = _mm_set1_epi16(mm);
    }
  operator __m128i() const {
      return vec;
    }
};

int main() {
  _mm_shuffle_epi32(Vec(5), _MM_SHUFFLE(3,3,3,3));
}