68 lines · c
1// RUN: %clang -target arm-arm-none-eabi -march=armv8.1-m.main+dsp -### %s 2> %t2// RUN: FileCheck --check-prefix=CHECK-DSP < %t %s3// CHECK-DSP: "-target-feature" "+dsp"4 5// RUN: %clang -target arm-arm-none-eabi -march=armv8.1-m.main+pacbti -### %s 2> %t6// RUN: FileCheck --check-prefix=CHECK-PACBTI < %t %s7// CHECK-PACBTI: "-target-feature" "+pacbti"8 9// RUN: %clang -target arm-arm-none-eabi -march=armv8.1-m.main+fp -### %s 2> %t10// RUN: FileCheck --check-prefix=CHECK-FP < %t %s11// CHECK-FP-DAG: "-target-feature" "+fp-armv8d16sp"12// CHECK-FP-NOT: "-target-feature" "+fp-armv8d16"13// CHECK-FP-NOT: "-target-feature" "+fp-armv8sp"14// CHECK-FP-NOT: "-target-feature" "+fp-armv8"15// CHECK-FP-NOT: "-target-feature" "+fp64"16// CHECK-FP-NOT: "-target-feature" "+d32"17// CHECK-FP-DAG: "-target-feature" "+fullfp16"18 19// RUN: %clang -target arm-arm-none-eabi -march=armv8.1-m.main+nofp -### %s 2> %t20// RUN: FileCheck --check-prefix=CHECK-NOFP < %t %s21// CHECK-NOFP-DAG: "-target-feature" "-vfp2"22// CHECK-NOFP-DAG: "-target-feature" "-vfp3"23// CHECK-NOFP-DAG: "-target-feature" "-fp16"24// CHECK-NOFP-DAG: "-target-feature" "-vfp4"25// CHECK-NOFP-DAG: "-target-feature" "-fp-armv8"26// CHECK-NOFP-DAG: "-target-feature" "-fp64"27// CHECK-NOFP-DAG: "-target-feature" "-d32"28// CHECK-NOFP-DAG: "-target-feature" "-neon"29// CHECK-NOFP-DAG: "-target-feature" "-sha2"30// CHECK-NOFP-DAG: "-target-feature" "-aes"31 32// RUN: %clang -target arm-arm-none-eabi -march=armv8.1-m.main+fp.dp -### %s 2> %t33// RUN: FileCheck --check-prefix=CHECK-FPDP < %t %s34// CHECK-FPDP-NOT: "-target-feature" "+fp-armv8sp"35// CHECK-FPDP-DAG: "-target-feature" "+fp-armv8d16"36// CHECK-FPDP-NOT: "-target-feature" "+fp-armv8"37// CHECK-FPDP-DAG: "-target-feature" "+fullfp16"38// CHECK-FPDP-DAG: "-target-feature" "+fp64"39// CHECK-FPDP-NOT: "-target-feature" "+d32"40 41// RUN: %clang -target arm-arm-none-eabi -march=armv8.1-m.main+nofp.dp -### %s 2> %t42// RUN: FileCheck --check-prefix=CHECK-NOFPDP < %t %s43// CHECK-NOFPDP-DAG: "-target-feature" "-fp64"44 45// RUN: %clang -target arm-arm-none-eabi -march=armv8.1-m.main+mve -### %s 2> %t46// RUN: FileCheck --check-prefix=CHECK-MVE < %t %s47// CHECK-MVE-DAG: "-target-feature" "+mve"48 49// RUN: %clang -target arm-arm-none-eabi -march=armv8.1-m.main+nomve -### %s 2> %t50// RUN: FileCheck --check-prefix=CHECK-NOMVE < %t %s51// CHECK-NOMVE-DAG: "-target-feature" "-mve"52 53// RUN: %clang -target arm-arm-none-eabi -march=armv8.1-m.main+mve.fp -### %s 2> %t54// RUN: FileCheck --check-prefix=CHECK-MVEFP < %t %s55// CHECK-MVEFP-DAG: "-target-feature" "+mve.fp"56// CHECK-MVEFP-NOT: "-target-feature" "+fp64"57 58// RUN: %clang -target arm-arm-none-eabi -march=armv8.1-m.main+nomve.fp -### %s 2> %t59// RUN: FileCheck --check-prefix=CHECK-NOMVEFP < %t %s60// CHECK-NOMVEFP: "-target-feature" "-mve.fp"61 62// RUN: %clang -target arm-arm-none-eabi -march=armv8.1-m.main+mve.fp+fp.dp -### %s 2> %t63// RUN: FileCheck --check-prefix=CHECK-MVEFP_DP < %t %s64// CHECK-MVEFP_DP-DAG: "-target-feature" "+mve.fp"65// CHECK-MVEFP_DP-DAG: "-target-feature" "+fp64"66 67double foo (double a) { return a; }68