1 // REQUIRES: aarch64-registered-target 2 3 // RUN: %clang -O3 -target aarch64-linux-eabi %s -S -o- \ 4 // RUN: | FileCheck --check-prefix=CHECK-NO --check-prefix=CHECK %s 5 // RUN: %clang -O3 -target aarch64-linux-eabi -mfix-cortex-a53-835769 %s -S -o- 2>&1 \ 6 // RUN: | FileCheck --check-prefix=CHECK-YES --check-prefix=CHECK %s 7 // RUN: %clang -O3 -target aarch64-linux-eabi -mno-fix-cortex-a53-835769 %s -S -o- 2>&1 \ 8 // RUN: | FileCheck --check-prefix=CHECK-NO --check-prefix=CHECK %s 9 10 // RUN: %clang -O3 -target aarch64-android-eabi %s -S -o- \ 11 // RUN: | FileCheck --check-prefix=CHECK-YES --check-prefix=CHECK %s 12 // RUN: %clang -O3 -target aarch64-android-eabi -mfix-cortex-a53-835769 %s -S -o- \ 13 // RUN: | FileCheck --check-prefix=CHECK-YES --check-prefix=CHECK %s 14 // RUN: %clang -O3 -target aarch64-android-eabi -mno-fix-cortex-a53-835769 %s -S -o- \ 15 // RUN: | FileCheck --check-prefix=CHECK-NO --check-prefix=CHECK %s 16 17 typedef long int64_t; 18 19 int64_t f_load_madd_64(int64_t a, int64_t b, int64_t *c) { 20 int64_t result = a+b*(*c); 21 return result; 22 } 23 24 // CHECK: ldr 25 // CHECK-YES-NEXT: nop 26 // CHECK-NO-NEXT-NOT: nop 27 // CHECK-NEXT: madd 28