1*67e74705SXin Li // RUN: %clang -mmmx -target i386-unknown-unknown -emit-llvm -S %s -o - | FileCheck %s
2*67e74705SXin Li #include <mmintrin.h>
3*67e74705SXin Li
shift(__m64 a,__m64 b,int c)4*67e74705SXin Li void shift(__m64 a, __m64 b, int c) {
5*67e74705SXin Li // CHECK: x86_mmx @llvm.x86.mmx.pslli.w(x86_mmx %{{.*}}, i32 {{.*}})
6*67e74705SXin Li _mm_slli_pi16(a, c);
7*67e74705SXin Li // CHECK: x86_mmx @llvm.x86.mmx.pslli.d(x86_mmx %{{.*}}, i32 {{.*}})
8*67e74705SXin Li _mm_slli_pi32(a, c);
9*67e74705SXin Li // CHECK: x86_mmx @llvm.x86.mmx.pslli.q(x86_mmx %{{.*}}, i32 {{.*}})
10*67e74705SXin Li _mm_slli_si64(a, c);
11*67e74705SXin Li
12*67e74705SXin Li // CHECK: x86_mmx @llvm.x86.mmx.psrli.w(x86_mmx %{{.*}}, i32 {{.*}})
13*67e74705SXin Li _mm_srli_pi16(a, c);
14*67e74705SXin Li // CHECK: x86_mmx @llvm.x86.mmx.psrli.d(x86_mmx %{{.*}}, i32 {{.*}})
15*67e74705SXin Li _mm_srli_pi32(a, c);
16*67e74705SXin Li // CHECK: x86_mmx @llvm.x86.mmx.psrli.q(x86_mmx %{{.*}}, i32 {{.*}})
17*67e74705SXin Li _mm_srli_si64(a, c);
18*67e74705SXin Li
19*67e74705SXin Li // CHECK: x86_mmx @llvm.x86.mmx.psrai.w(x86_mmx %{{.*}}, i32 {{.*}})
20*67e74705SXin Li _mm_srai_pi16(a, c);
21*67e74705SXin Li // CHECK: x86_mmx @llvm.x86.mmx.psrai.d(x86_mmx %{{.*}}, i32 {{.*}})
22*67e74705SXin Li _mm_srai_pi32(a, c);
23*67e74705SXin Li }
24