| // REQUIRES: arm-registered-target |
| // RUN: %clang -target arm-none-eabi -S -o - %s | FileCheck -check-prefix=CHECK-EABI %s |
| // RUN: %clang -target arm-none-eabi -S -meabi gnu -o - %s | FileCheck -check-prefix=CHECK-GNUEABI %s |
| // RUN: %clang -target arm-none-eabihf -S -o - %s | FileCheck -check-prefix=CHECK-EABI %s |
| // RUN: %clang -target arm-none-eabihf -S -meabi gnu -o - %s | FileCheck -check-prefix=CHECK-GNUEABI %s |
| // RUN: %clang -target arm-none-gnueabi -S -o - %s | FileCheck -check-prefix=CHECK-GNUEABI %s |
| // RUN: %clang -target arm-none-gnueabi -S -meabi 5 -o - %s | FileCheck -check-prefix=CHECK-EABI %s |
| // RUN: %clang -target arm-none-gnueabihf -S -o - %s | FileCheck -check-prefix=CHECK-GNUEABI %s |
| // RUN: %clang -target arm-none-gnueabihf -S -meabi 5 -o - %s | FileCheck -check-prefix=CHECK-EABI %s |
| |
| struct my_s { |
| unsigned long a[18]; |
| }; |
| |
| // CHECK-LABEL: foo |
| // CHECK-EABI: bl __aeabi_memcpy4 |
| // CHECK-GNUEABI: bl memcpy |
| void foo(unsigned long *t) { |
| *(struct my_s *)t = *((struct my_s *)(1UL)); |
| } |