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 |