187d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// REQUIRES: arm-registered-target 287d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// RUN: %clang -target arm-none-eabi -S -o - %s | FileCheck -check-prefix=CHECK-EABI %s 387d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// RUN: %clang -target arm-none-eabi -S -meabi gnu -o - %s | FileCheck -check-prefix=CHECK-GNUEABI %s 487d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// RUN: %clang -target arm-none-eabihf -S -o - %s | FileCheck -check-prefix=CHECK-EABI %s 587d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// RUN: %clang -target arm-none-eabihf -S -meabi gnu -o - %s | FileCheck -check-prefix=CHECK-GNUEABI %s 687d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// RUN: %clang -target arm-none-gnueabi -S -o - %s | FileCheck -check-prefix=CHECK-GNUEABI %s 787d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// RUN: %clang -target arm-none-gnueabi -S -meabi 5 -o - %s | FileCheck -check-prefix=CHECK-EABI %s 887d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// RUN: %clang -target arm-none-gnueabihf -S -o - %s | FileCheck -check-prefix=CHECK-GNUEABI %s 987d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// RUN: %clang -target arm-none-gnueabihf -S -meabi 5 -o - %s | FileCheck -check-prefix=CHECK-EABI %s 104967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// RUN: %clang -target arm-none-musleabi -S -o - %s \ 114967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// RUN: | FileCheck -check-prefix=CHECK-GNUEABI %s 124967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// RUN: %clang -target arm-none-musleabi -S -o - %s -meabi 5 \ 134967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// RUN: | FileCheck -check-prefix=CHECK-EABI %s 144967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// RUN: %clang -target arm-none-musleabihf -S -o - %s \ 154967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// RUN: | FileCheck -check-prefix=CHECK-GNUEABI %s 164967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// RUN: %clang -target arm-none-musleabihf -S -o - %s -meabi 5 \ 174967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// RUN: | FileCheck -check-prefix=CHECK-EABI %s 1887d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar 1987d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainarstruct my_s { 2087d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar unsigned long a[18]; 2187d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar}; 2287d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar 2387d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// CHECK-LABEL: foo 2487d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// CHECK-EABI: bl __aeabi_memcpy4 2587d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// CHECK-GNUEABI: bl memcpy 2687d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainarvoid foo(unsigned long *t) { 2787d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar *(struct my_s *)t = *((struct my_s *)(1UL)); 2887d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar} 29