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