File tree Expand file tree Collapse file tree 2 files changed +17
-0
lines changed
lib/Driver/ToolChains/Arch Expand file tree Collapse file tree 2 files changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -756,6 +756,15 @@ llvm::ARM::FPUKind arm::getARMTargetFeatures(const Driver &D,
756
756
Features.push_back (" -crc" );
757
757
}
758
758
759
+ // Invalid value of the __ARM_FEATURE_MVE macro when an explicit -mfpu= option
760
+ // disables MVE-FP -mfpu=fpv5-d16 or -mfpu=fpv5-sp-d16 disables the scalar
761
+ // half-precision floating-point operations feature. Therefore, because the
762
+ // M-profile Vector Extension (MVE) floating-point feature requires the scalar
763
+ // half-precision floating-point operations, this option also disables the MVE
764
+ // floating-point feature: -mve.fp
765
+ if (FPUKind == llvm::ARM::FK_FPV5_D16 || FPUKind == llvm::ARM::FK_FPV5_SP_D16)
766
+ Features.push_back (" -mve.fp" );
767
+
759
768
// For Arch >= ARMv8.0 && A or R profile: crypto = sha2 + aes
760
769
// Rather than replace within the feature vector, determine whether each
761
770
// algorithm is enabled and append this to the end of the vector.
Original file line number Diff line number Diff line change 1005
1005
// CHECK-V83-OR-LATER: __ARM_FEATURE_COMPLEX 1
1006
1006
// CHECK-V81-OR-LATER: __ARM_FEATURE_QRDMX 1
1007
1007
// CHECK-BEFORE-V83-NOT: __ARM_FEATURE_COMPLEX 1
1008
+
1009
+ // Check if MVE floating-point feature is disabled (-mve.fp) during explicit fpv5-d16 or fpv5-sp-d16
1010
+ // RUN: %clang -target arm-arm-none-eabi -march=armv8.1-m.main+mve.fp -mfpu=fpv5-d16 -x c -E -dM %s -o - | FileCheck -check-prefix=CHECK-MVE1 %s
1011
+ // CHECK-MVE1: #define __ARM_FEATURE_MVE 1
1012
+ // RUN: %clang -target arm-arm-none-eabi -march=armv8.1-m.main+mve.fp -mfpu=fpv5-sp-d16 -x c -E -dM %s -o - | FileCheck -check-prefix=CHECK-MVE1_2 %s
1013
+ // CHECK-MVE1_2: #define __ARM_FEATURE_MVE 1
1014
+ // RUN: %clang -target arm-arm-none-eabi -march=armv8.1-m.main+mve.fp -x c -E -dM %s -o - | FileCheck -check-prefix=CHECK-MVE3 %s
1015
+ // CHECK-MVE3: #define __ARM_FEATURE_MVE 3
You can’t perform that action at this time.
0 commit comments