1 // RUN: %clang_cc1 -triple i386-linux-gnu -emit-llvm %s -o - | FileCheck %s 2 // Picking a cpu that doesn't have mmx or sse by default so we can enable it later. 3 4 #define __MM_MALLOC_H 5 6 #include <x86intrin.h> 7 8 // Verify that when we turn on sse that we also turn on mmx. 9 void __attribute__((target("sse"))) shift(__m64 a, __m64 b, int c) { 10 _mm_slli_pi16(a, c); 11 _mm_slli_pi32(a, c); 12 _mm_slli_si64(a, c); 13 14 _mm_srli_pi16(a, c); 15 _mm_srli_pi32(a, c); 16 _mm_srli_si64(a, c); 17 18 _mm_srai_pi16(a, c); 19 _mm_srai_pi32(a, c); 20 } 21 22 // CHECK: "target-features"="+mmx,+sse" 23