• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // RUN: %clang_cc1 %s -O3 -triple=x86_64-apple-darwin -target-feature +avx -emit-llvm -o - | FileCheck %s
2 
3 // Don't include mm_malloc.h, it's system specific.
4 #define __MM_MALLOC_H
5 
6 #include <immintrin.h>
7 
8 //
9 // Test LLVM IR codegen of shuffle instructions
10 //
11 
test__mm256_loadu_ps(void * p)12 __m256 test__mm256_loadu_ps(void* p) {
13   // CHECK: load <8 x float>* %{{.*}}, align 1
14   return _mm256_loadu_ps(p);
15 }
16 
test__mm256_loadu_pd(void * p)17 __m256d test__mm256_loadu_pd(void* p) {
18   // CHECK: load <4 x double>* %{{.*}}, align 1
19   return _mm256_loadu_pd(p);
20 }
21 
test__mm256_loadu_si256(void * p)22 __m256i test__mm256_loadu_si256(void* p) {
23   // CHECK: load <4 x i64>* %{{.+}}, align 1
24   return _mm256_loadu_si256(p);
25 }
26