1 | // REQUIRES: arm-registered-target |
2 | // RUN: %clang -target arm-none-eabi -S -o - %s | FileCheck -check-prefix=CHECK-EABI %s |
3 | // RUN: %clang -target arm-none-eabi -S -meabi gnu -o - %s | FileCheck -check-prefix=CHECK-GNUEABI %s |
4 | // RUN: %clang -target arm-none-eabihf -S -o - %s | FileCheck -check-prefix=CHECK-EABI %s |
5 | // RUN: %clang -target arm-none-eabihf -S -meabi gnu -o - %s | FileCheck -check-prefix=CHECK-GNUEABI %s |
6 | // RUN: %clang -target arm-none-gnueabi -S -o - %s | FileCheck -check-prefix=CHECK-GNUEABI %s |
7 | // RUN: %clang -target arm-none-gnueabi -S -meabi 5 -o - %s | FileCheck -check-prefix=CHECK-EABI %s |
8 | // RUN: %clang -target arm-none-gnueabihf -S -o - %s | FileCheck -check-prefix=CHECK-GNUEABI %s |
9 | // RUN: %clang -target arm-none-gnueabihf -S -meabi 5 -o - %s | FileCheck -check-prefix=CHECK-EABI %s |
10 | // RUN: %clang -target arm-none-musleabi -S -o - %s \ |
11 | // RUN: | FileCheck -check-prefix=CHECK-GNUEABI %s |
12 | // RUN: %clang -target arm-none-musleabi -S -o - %s -meabi 5 \ |
13 | // RUN: | FileCheck -check-prefix=CHECK-EABI %s |
14 | // RUN: %clang -target arm-none-musleabihf -S -o - %s \ |
15 | // RUN: | FileCheck -check-prefix=CHECK-GNUEABI %s |
16 | // RUN: %clang -target arm-none-musleabihf -S -o - %s -meabi 5 \ |
17 | // RUN: | FileCheck -check-prefix=CHECK-EABI %s |
18 | |
19 | struct my_s { |
20 | unsigned long a[18]; |
21 | }; |
22 | |
23 | // CHECK-LABEL: foo |
24 | // CHECK-EABI: bl __aeabi_memcpy4 |
25 | // CHECK-GNUEABI: bl memcpy |
26 | void foo(unsigned long *t) { |
27 | *(struct my_s *)t = *((struct my_s *)(1UL)); |
28 | } |
29 | |