| // RUN: %clang_cc1 %s -O3 -triple=x86_64-apple-darwin -target-feature +avx -emit-llvm -o - | FileCheck %s | |
| // Don't include mm_malloc.h, it's system specific. | |
| #define __MM_MALLOC_H | |
| #include <immintrin.h> | |
| // | |
| // Test LLVM IR codegen of shuffle instructions | |
| // | |
| __m256 x(__m256 a, __m256 b) { | |
| // Check if the mask is correct | |
| // CHECK: shufflevector{{.*}}<i32 3, i32 2, i32 8, i32 11, i32 7, i32 6, i32 12, i32 15> | |
| return _mm256_shuffle_ps(a, b, 203); | |
| } |