This revision was automatically updated to reflect the committed changes. Closed by commit rL294662: Add support for armv7ve flag in clang (PR31358). (authored by gbiv).
Changed prior to commit: https://reviews.llvm.org/D29773?vs=87831&id=87899#toc Repository: rL LLVM https://reviews.llvm.org/D29773 Files: cfe/trunk/lib/Basic/Targets.cpp cfe/trunk/test/Preprocessor/arm-acle-6.4.c cfe/trunk/test/Preprocessor/arm-acle-6.5.c cfe/trunk/test/Preprocessor/arm-target-features.c Index: cfe/trunk/test/Preprocessor/arm-acle-6.5.c =================================================================== --- cfe/trunk/test/Preprocessor/arm-acle-6.5.c +++ cfe/trunk/test/Preprocessor/arm-acle-6.5.c @@ -24,6 +24,7 @@ // RUN: %clang -target arm-eabi -mfpu=neon -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-SP-DP // RUN: %clang -target armv6-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-SP-DP // RUN: %clang -target armv7a-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-SP-DP +// RUN: %clang -target armv7ve-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-SP-DP // CHECK-SP-DP: __ARM_FP 0xC @@ -51,6 +52,8 @@ // RUN: %clang -target armv7a-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-NO-FMA // RUN: %clang -target armv7a-eabi -mfpu=vfpv4 -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-FMA +// RUN: %clang -target armv7ve-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-NO-FMA +// RUN: %clang -target armv7ve-eabi -mfpu=vfpv4 -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-FMA // RUN: %clang -target armv7r-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-NO-FMA // RUN: %clang -target armv7r-eabi -mfpu=vfpv4 -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-FMA // RUN: %clang -target armv7em-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-FMA Index: cfe/trunk/test/Preprocessor/arm-target-features.c =================================================================== --- cfe/trunk/test/Preprocessor/arm-target-features.c +++ cfe/trunk/test/Preprocessor/arm-target-features.c @@ -27,6 +27,13 @@ // CHECK-V7-NOT: __ARM_FEATURE_DIRECTED_ROUNDING // CHECK-V7: #define __ARM_FP 0xC +// RUN: %clang -target armv7ve-none-linux-gnu -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=CHECK-V7VE %s +// CHECK-V7VE: #define __ARMEL__ 1 +// CHECK-V7VE: #define __ARM_ARCH 7 +// CHECK-V7VE: #define __ARM_ARCH_7VE__ 1 +// CHECK-V7VE: #define __ARM_ARCH_EXT_IDIV__ 1 +// CHECK-V7VE: #define __ARM_FP 0xC + // RUN: %clang -target x86_64-apple-macosx10.10 -arch armv7s -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=CHECK-V7S %s // CHECK-V7S: #define __ARMEL__ 1 // CHECK-V7S: #define __ARM_ARCH 7 Index: cfe/trunk/test/Preprocessor/arm-acle-6.4.c =================================================================== --- cfe/trunk/test/Preprocessor/arm-acle-6.4.c +++ cfe/trunk/test/Preprocessor/arm-acle-6.4.c @@ -120,6 +120,21 @@ // CHECK-V7A-NO-IDIV-NOT: __ARM_FEATURE_IDIV +// RUN: %clang -target arm-none-linux-eabi -march=armv7ve -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-V7VE + +// CHECK-V7VE: __ARM_ARCH 7 +// CHECK-V7VE: __ARM_ARCH_ISA_ARM 1 +// CHECK-V7VE: __ARM_ARCH_ISA_THUMB 2 +// CHECK-V7VE: __ARM_ARCH_PROFILE 'A' +// CHECK-V7VE: __ARM_FEATURE_CLZ 1 +// CHECK-V7VE: __ARM_FEATURE_DSP 1 +// CHECK-V7VE: __ARM_FEATURE_IDIV 1 +// CHECK-V7VE: __ARM_FEATURE_LDREX 0xF +// CHECK-V7VE: __ARM_FEATURE_QBIT 1 +// CHECK-V7VE: __ARM_FEATURE_SAT 1 +// CHECK-V7VE: __ARM_FEATURE_SIMD32 1 +// CHECK-V7VE: __ARM_FEATURE_UNALIGNED 1 + // RUN: %clang -target arm-none-linux-eabi -march=armv7-r -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-V7R // CHECK-V7R: __ARM_ARCH 7 Index: cfe/trunk/lib/Basic/Targets.cpp =================================================================== --- cfe/trunk/lib/Basic/Targets.cpp +++ cfe/trunk/lib/Basic/Targets.cpp @@ -5063,6 +5063,8 @@ return "7M"; case llvm::ARM::AK_ARMV7EM: return "7EM"; + case llvm::ARM::AK_ARMV7VE: + return "7VE"; case llvm::ARM::AK_ARMV8A: return "8A"; case llvm::ARM::AK_ARMV8_1A:
Index: cfe/trunk/test/Preprocessor/arm-acle-6.5.c =================================================================== --- cfe/trunk/test/Preprocessor/arm-acle-6.5.c +++ cfe/trunk/test/Preprocessor/arm-acle-6.5.c @@ -24,6 +24,7 @@ // RUN: %clang -target arm-eabi -mfpu=neon -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-SP-DP // RUN: %clang -target armv6-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-SP-DP // RUN: %clang -target armv7a-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-SP-DP +// RUN: %clang -target armv7ve-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-SP-DP // CHECK-SP-DP: __ARM_FP 0xC @@ -51,6 +52,8 @@ // RUN: %clang -target armv7a-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-NO-FMA // RUN: %clang -target armv7a-eabi -mfpu=vfpv4 -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-FMA +// RUN: %clang -target armv7ve-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-NO-FMA +// RUN: %clang -target armv7ve-eabi -mfpu=vfpv4 -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-FMA // RUN: %clang -target armv7r-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-NO-FMA // RUN: %clang -target armv7r-eabi -mfpu=vfpv4 -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-FMA // RUN: %clang -target armv7em-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-FMA Index: cfe/trunk/test/Preprocessor/arm-target-features.c =================================================================== --- cfe/trunk/test/Preprocessor/arm-target-features.c +++ cfe/trunk/test/Preprocessor/arm-target-features.c @@ -27,6 +27,13 @@ // CHECK-V7-NOT: __ARM_FEATURE_DIRECTED_ROUNDING // CHECK-V7: #define __ARM_FP 0xC +// RUN: %clang -target armv7ve-none-linux-gnu -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=CHECK-V7VE %s +// CHECK-V7VE: #define __ARMEL__ 1 +// CHECK-V7VE: #define __ARM_ARCH 7 +// CHECK-V7VE: #define __ARM_ARCH_7VE__ 1 +// CHECK-V7VE: #define __ARM_ARCH_EXT_IDIV__ 1 +// CHECK-V7VE: #define __ARM_FP 0xC + // RUN: %clang -target x86_64-apple-macosx10.10 -arch armv7s -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=CHECK-V7S %s // CHECK-V7S: #define __ARMEL__ 1 // CHECK-V7S: #define __ARM_ARCH 7 Index: cfe/trunk/test/Preprocessor/arm-acle-6.4.c =================================================================== --- cfe/trunk/test/Preprocessor/arm-acle-6.4.c +++ cfe/trunk/test/Preprocessor/arm-acle-6.4.c @@ -120,6 +120,21 @@ // CHECK-V7A-NO-IDIV-NOT: __ARM_FEATURE_IDIV +// RUN: %clang -target arm-none-linux-eabi -march=armv7ve -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-V7VE + +// CHECK-V7VE: __ARM_ARCH 7 +// CHECK-V7VE: __ARM_ARCH_ISA_ARM 1 +// CHECK-V7VE: __ARM_ARCH_ISA_THUMB 2 +// CHECK-V7VE: __ARM_ARCH_PROFILE 'A' +// CHECK-V7VE: __ARM_FEATURE_CLZ 1 +// CHECK-V7VE: __ARM_FEATURE_DSP 1 +// CHECK-V7VE: __ARM_FEATURE_IDIV 1 +// CHECK-V7VE: __ARM_FEATURE_LDREX 0xF +// CHECK-V7VE: __ARM_FEATURE_QBIT 1 +// CHECK-V7VE: __ARM_FEATURE_SAT 1 +// CHECK-V7VE: __ARM_FEATURE_SIMD32 1 +// CHECK-V7VE: __ARM_FEATURE_UNALIGNED 1 + // RUN: %clang -target arm-none-linux-eabi -march=armv7-r -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-V7R // CHECK-V7R: __ARM_ARCH 7 Index: cfe/trunk/lib/Basic/Targets.cpp =================================================================== --- cfe/trunk/lib/Basic/Targets.cpp +++ cfe/trunk/lib/Basic/Targets.cpp @@ -5063,6 +5063,8 @@ return "7M"; case llvm::ARM::AK_ARMV7EM: return "7EM"; + case llvm::ARM::AK_ARMV7VE: + return "7VE"; case llvm::ARM::AK_ARMV8A: return "8A"; case llvm::ARM::AK_ARMV8_1A:
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits