| 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 | |