// 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 // RUN: %clang -target arm-none-musleabi -S -o - %s \ // RUN: | FileCheck -check-prefix=CHECK-GNUEABI %s // RUN: %clang -target arm-none-musleabi -S -o - %s -meabi 5 \ // RUN: | FileCheck -check-prefix=CHECK-EABI %s // RUN: %clang -target arm-none-musleabihf -S -o - %s \ // RUN: | FileCheck -check-prefix=CHECK-GNUEABI %s // RUN: %clang -target arm-none-musleabihf -S -o - %s -meabi 5 \ // RUN: | 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)); }