1 // RUN: %clang -### -target arm %s 2>&1 | FileCheck %s --check-prefix=CHECK-NONE 2 // RUN: %clang -### -target arm -march=armv8.1a %s 2>&1 | FileCheck %s --check-prefix=CHECK-NONE 3 // RUN: %clang -### -target arm -march=armv8.2a %s 2>&1 | FileCheck %s --check-prefix=CHECK-NONE 4 // RUN: %clang -### -target arm -march=armv8.3a %s 2>&1 | FileCheck %s --check-prefix=CHECK-NONE 5 // CHECK-NONE-NOT: "-target-feature" "+dotprod" 6 7 // RUN: %clang -### -target arm-linux-eabi -march=armv8.2a+dotprod %s 2>&1 | FileCheck %s 8 // RUN: %clang -### -target arm-linux-eabi -march=armv8.3a+dotprod %s 2>&1 | FileCheck %s 9 // RUN: %clang -### -target arm-linux-eabi -mcpu=cortex-a75 %s 2>&1 | FileCheck %s 10 // RUN: %clang -### -target arm-linux-eabi -mcpu=cortex-a76 %s 2>&1 | FileCheck %s 11 // RUN: %clang -### -target arm-linux-eabi -mcpu=cortex-a76ae %s 2>&1 | FileCheck %s 12 // RUN: %clang -### -target arm-linux-eabi -mcpu=cortex-a55 %s 2>&1 | FileCheck %s 13 // CHECK: "+dotprod" 14 15 // The following default to -msoft-float 16 // RUN: %clang -### -target arm -march=armv8.2a+dotprod %s 2>&1 \ 17 // RUN: | FileCheck %s --check-prefix=CHECK-NO-DOTPROD 18 // RUN: %clang -### -target arm -march=armv8.3a+dotprod %s 2>&1 \ 19 // RUN: | FileCheck %s --check-prefix=CHECK-NO-DOTPROD 20 // RUN: %clang -### -target arm -mcpu=cortex-a75 %s 2>&1 \ 21 // RUN: | FileCheck %s --check-prefix=CHECK-NO-DOTPROD 22 // RUN: %clang -### -target arm -mcpu=cortex-a76 %s 2>&1 \ 23 // RUN: | FileCheck %s --check-prefix=CHECK-NO-DOTPROD 24 // RUN: %clang -### -target arm -mcpu=cortex-a76ae %s 2>&1 \ 25 // RUN: | FileCheck %s --check-prefix=CHECK-NO-DOTPROD 26 // RUN: %clang -### -target arm -mcpu=cortex-a55 %s 2>&1 \ 27 // RUN: | FileCheck %s --check-prefix=CHECK-NO-DOTPROD 28 // We rely on the backend disabling dotprod as it depends on neon, so check that 29 // neon is disabled after the dotprod was enabled. 30 // CHECK-NO-DOTPROD-NOT: "+dotprod" 31