11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// RUN: %clang_cc1 -O1 -triple arm64-apple-ios7 -target-feature +neon -ffreestanding -S -o - -emit-llvm %s | FileCheck %s
21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Test ARM64 SIMD vcreate intrinsics
31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci/*#include <arm_neon.h>*/
51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include <arm_neon.h>
61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccifloat32x2_t test_vcreate_f32(uint64_t a1) {
81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  // CHECK: test_vcreate_f32
91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  return vcreate_f32(a1);
101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  // CHECK: bitcast {{.*}} to <2 x float>
111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  // CHECK-NEXT: ret
121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// FIXME enable when scalar_to_vector in backend is fixed.  Also, change
151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// CHECK@ to CHECK<colon> and CHECK-NEXT@ to CHECK-NEXT<colon>
161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci/*
171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccifloat64x1_t test_vcreate_f64(uint64_t a1) {
181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  // CHECK@ test_vcreate_f64
191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  return vcreate_f64(a1);
201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  // CHECK@ llvm.aarch64.neon.saddlv.i64.v2i32
211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  // CHECK-NEXT@ ret
221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci*/
241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci