Author: kparzysz Date: Mon Apr 18 13:38:11 2016 New Revision: 266647 URL: http://llvm.org/viewvc/llvm-project?rev=266647&view=rev Log: [Hexagon] Define macros __HVX__ and __HVXDBL__ when appropriate
Added: cfe/trunk/test/Preprocessor/hexagon-predefines.c Modified: cfe/trunk/lib/Basic/Targets.cpp Modified: cfe/trunk/lib/Basic/Targets.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=266647&r1=266646&r2=266647&view=diff ============================================================================== --- cfe/trunk/lib/Basic/Targets.cpp (original) +++ cfe/trunk/lib/Basic/Targets.cpp Mon Apr 18 13:38:11 2016 @@ -5946,6 +5946,12 @@ void HexagonTargetInfo::getTargetDefines Builder.defineMacro("__QDSP6_V60__"); Builder.defineMacro("__QDSP6_ARCH__", "60"); } + + if (hasFeature("hvx")) { + Builder.defineMacro("__HVX__"); + if (hasFeature("hvx-double")) + Builder.defineMacro("__HVXDBL__"); + } } bool HexagonTargetInfo::handleTargetFeatures(std::vector<std::string> &Features, Added: cfe/trunk/test/Preprocessor/hexagon-predefines.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/hexagon-predefines.c?rev=266647&view=auto ============================================================================== --- cfe/trunk/test/Preprocessor/hexagon-predefines.c (added) +++ cfe/trunk/test/Preprocessor/hexagon-predefines.c Mon Apr 18 13:38:11 2016 @@ -0,0 +1,26 @@ +// RUN: %clang_cc1 -E -dM -triple hexagon-unknown-elf -target-cpu hexagonv5 %s | FileCheck %s -check-prefix CHECK-V5 + +// CHECK-V5: #define __HEXAGON_ARCH__ 5 +// CHECK-V5: #define __HEXAGON_V5__ 1 +// CHECK-V5: #define __hexagon__ 1 + +// RUN: %clang_cc1 -E -dM -triple hexagon-unknown-elf -target-cpu hexagonv60 %s | FileCheck %s -check-prefix CHECK-V60 + +// CHECK-V60: #define __HEXAGON_ARCH__ 60 +// CHECK-V60: #define __HEXAGON_V60__ 1 +// CHECK-V60: #define __hexagon__ 1 + +// RUN: %clang_cc1 -E -dM -triple hexagon-unknown-elf -target-cpu hexagonv60 -target-feature +hvx %s | FileCheck %s -check-prefix CHECK-V60HVX + +// CHECK-V60HVX: #define __HEXAGON_ARCH__ 60 +// CHECK-V60HVX: #define __HEXAGON_V60__ 1 +// CHECK-V60HVX: #define __HVX__ 1 + +// RUN: %clang_cc1 -E -dM -triple hexagon-unknown-elf -target-cpu hexagonv60 -target-feature +hvx-double %s | FileCheck %s -check-prefix CHECK-V60HVXD + +// CHECK-V60HVXD: #define __HEXAGON_ARCH__ 60 +// CHECK-V60HVXD: #define __HEXAGON_V60__ 1 +// CHECK-V60HVXD: #define __HVXDBL__ 1 +// CHECK-V60HVXD: #define __HVX__ 1 +// CHECK-V60HVXD: #define __hexagon__ 1 + _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits