| OLD | NEW |
| 1 // REQUIRES: arm-registered-target | 1 // REQUIRES: arm-registered-target |
| 2 // RUN: %clang_cc1 -triple thumbv7-apple-darwin9 \ | 2 // RUN: %clang_cc1 -triple thumbv7-apple-darwin9 \ |
| 3 // RUN: -target-abi aapcs \ | 3 // RUN: -target-abi aapcs \ |
| 4 // RUN: -target-cpu cortex-a8 \ | 4 // RUN: -target-cpu cortex-a8 \ |
| 5 // RUN: -mfloat-abi hard \ | 5 // RUN: -mfloat-abi hard \ |
| 6 // RUN: -ffreestanding \ | 6 // RUN: -ffreestanding \ |
| 7 // RUN: -emit-llvm -w -o - %s | FileCheck %s | 7 // RUN: -emit-llvm -w -o - %s | FileCheck %s |
| 8 | 8 |
| 9 // RUN: %clang_cc1 -triple armv7-unknown-nacl-gnueabi \ |
| 10 // RUN: -target-cpu cortex-a8 \ |
| 11 // RUN: -mfloat-abi hard \ |
| 12 // RUN: -ffreestanding \ |
| 13 // RUN: -emit-llvm -w -o - %s | FileCheck %s |
| 14 |
| 9 #include <arm_neon.h> | 15 #include <arm_neon.h> |
| 10 | 16 |
| 11 struct homogeneous_struct { | 17 struct homogeneous_struct { |
| 12 float f[2]; | 18 float f[2]; |
| 13 float f3; | 19 float f3; |
| 14 float f4; | 20 float f4; |
| 15 }; | 21 }; |
| 16 // CHECK: define arm_aapcs_vfpcc %struct.homogeneous_struct @test_struct(float %
{{.*}}, float %{{.*}}, float %{{.*}}, float %{{.*}}) | 22 // CHECK: define arm_aapcs_vfpcc %struct.homogeneous_struct @test_struct(float %
{{.*}}, float %{{.*}}, float %{{.*}}, float %{{.*}}) |
| 17 extern struct homogeneous_struct struct_callee(struct homogeneous_struct); | 23 extern struct homogeneous_struct struct_callee(struct homogeneous_struct); |
| 18 struct homogeneous_struct test_struct(struct homogeneous_struct arg) { | 24 struct homogeneous_struct test_struct(struct homogeneous_struct arg) { |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 }; | 91 }; |
| 86 // CHECK: define arm_aapcs_vfpcc void @test_neon(<8 x i8> %{{.*}}, <8 x i8> %{{.
*}}, <2 x i32> %{{.*}}, <4 x i16> %{{.*}}) | 92 // CHECK: define arm_aapcs_vfpcc void @test_neon(<8 x i8> %{{.*}}, <8 x i8> %{{.
*}}, <2 x i32> %{{.*}}, <4 x i16> %{{.*}}) |
| 87 extern void neon_callee(struct neon_struct); | 93 extern void neon_callee(struct neon_struct); |
| 88 void test_neon(struct neon_struct arg) { | 94 void test_neon(struct neon_struct arg) { |
| 89 neon_callee(arg); | 95 neon_callee(arg); |
| 90 } | 96 } |
| 91 | 97 |
| 92 // CHECK: define arm_aapcs_vfpcc void @f33(%struct.s33* byval %s) | 98 // CHECK: define arm_aapcs_vfpcc void @f33(%struct.s33* byval %s) |
| 93 struct s33 { char buf[32*32]; }; | 99 struct s33 { char buf[32*32]; }; |
| 94 void f33(struct s33 s) { } | 100 void f33(struct s33 s) { } |
| OLD | NEW |