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