19ec60dfe771ff28a84889dced6f8fd3748d3d55eSebastian Pop// RUN: %clang -mmmx -target i386-unknown-unknown -emit-llvm -S %s -o - | FileCheck %s
21dfc2124efc2709b04c1da99091357884907ab32Bill Wendling#include <mmintrin.h>
31dfc2124efc2709b04c1da99091357884907ab32Bill Wendling
41dfc2124efc2709b04c1da99091357884907ab32Bill Wendlingvoid shift(__m64 a, __m64 b, int c) {
5d47e262935f25f704afd03e26482641ca21a1df8Dale Johannesen  // CHECK: x86_mmx @llvm.x86.mmx.pslli.w(x86_mmx %{{.*}}, i32 {{.*}})
61dfc2124efc2709b04c1da99091357884907ab32Bill Wendling  _mm_slli_pi16(a, c);
7d47e262935f25f704afd03e26482641ca21a1df8Dale Johannesen  // CHECK: x86_mmx @llvm.x86.mmx.pslli.d(x86_mmx %{{.*}}, i32 {{.*}})
81dfc2124efc2709b04c1da99091357884907ab32Bill Wendling  _mm_slli_pi32(a, c);
9eb7fe36ad8bdb1fec2bcf1fa9afb8f2ca6053b75Bill Wendling  // CHECK: x86_mmx @llvm.x86.mmx.pslli.q(x86_mmx %{{.*}}, i32 {{.*}})
101dfc2124efc2709b04c1da99091357884907ab32Bill Wendling  _mm_slli_si64(a, c);
111dfc2124efc2709b04c1da99091357884907ab32Bill Wendling
12d47e262935f25f704afd03e26482641ca21a1df8Dale Johannesen  // CHECK: x86_mmx @llvm.x86.mmx.psrli.w(x86_mmx %{{.*}}, i32 {{.*}})
131dfc2124efc2709b04c1da99091357884907ab32Bill Wendling  _mm_srli_pi16(a, c);
14d47e262935f25f704afd03e26482641ca21a1df8Dale Johannesen  // CHECK: x86_mmx @llvm.x86.mmx.psrli.d(x86_mmx %{{.*}}, i32 {{.*}})
151dfc2124efc2709b04c1da99091357884907ab32Bill Wendling  _mm_srli_pi32(a, c);
16eb7fe36ad8bdb1fec2bcf1fa9afb8f2ca6053b75Bill Wendling  // CHECK: x86_mmx @llvm.x86.mmx.psrli.q(x86_mmx %{{.*}}, i32 {{.*}})
171dfc2124efc2709b04c1da99091357884907ab32Bill Wendling  _mm_srli_si64(a, c);
181dfc2124efc2709b04c1da99091357884907ab32Bill Wendling
19d47e262935f25f704afd03e26482641ca21a1df8Dale Johannesen  // CHECK: x86_mmx @llvm.x86.mmx.psrai.w(x86_mmx %{{.*}}, i32 {{.*}})
201dfc2124efc2709b04c1da99091357884907ab32Bill Wendling  _mm_srai_pi16(a, c);
21d47e262935f25f704afd03e26482641ca21a1df8Dale Johannesen  // CHECK: x86_mmx @llvm.x86.mmx.psrai.d(x86_mmx %{{.*}}, i32 {{.*}})
221dfc2124efc2709b04c1da99091357884907ab32Bill Wendling  _mm_srai_pi32(a, c);
231dfc2124efc2709b04c1da99091357884907ab32Bill Wendling}
24