From 637aafc4516594b058453f34c2a4f0496fd80d41 Mon Sep 17 00:00:00 2001 From: Walter Lee Date: Tue, 6 Feb 2018 22:39:47 +0000 Subject: [PATCH] [Myriad] Define __ma2x5x and __ma2x8x Summary: Add architecture defines for ma2x5x and ma2x8x. Reviewers: jyknight Subscribers: fedor.sergeev, MartinO Differential Revision: https://reviews.llvm.org/D42882 llvm-svn: 324420 --- clang/lib/Basic/Targets/Sparc.cpp | 7 +++++++ clang/test/Preprocessor/predefined-arch-macros.c | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/clang/lib/Basic/Targets/Sparc.cpp b/clang/lib/Basic/Targets/Sparc.cpp index 429c1ee3a23c..ed28bf2d435c 100644 --- a/clang/lib/Basic/Targets/Sparc.cpp +++ b/clang/lib/Basic/Targets/Sparc.cpp @@ -178,6 +178,13 @@ void SparcV8TargetInfo::getTargetDefines(const LangOptions &Opts, Builder.defineMacro(MyriadArchValue, "1"); Builder.defineMacro(MyriadArchValue + "__", "1"); } + if (Myriad2Value == "2") { + Builder.defineMacro("__ma2x5x", "1"); + Builder.defineMacro("__ma2x5x__", "1"); + } else if (Myriad2Value == "3") { + Builder.defineMacro("__ma2x8x", "1"); + Builder.defineMacro("__ma2x8x__", "1"); + } Builder.defineMacro("__myriad2__", Myriad2Value); Builder.defineMacro("__myriad2", Myriad2Value); } diff --git a/clang/test/Preprocessor/predefined-arch-macros.c b/clang/test/Preprocessor/predefined-arch-macros.c index ef0c022ac0e2..ba3cb44b697b 100644 --- a/clang/test/Preprocessor/predefined-arch-macros.c +++ b/clang/test/Preprocessor/predefined-arch-macros.c @@ -2401,8 +2401,12 @@ // CHECK_MYRIAD2: #define __leon__ 1 // CHECK_MYRIAD2-1: #define __myriad2 1 // CHECK_MYRIAD2-1: #define __myriad2__ 1 +// CHECK_MYRIAD2-2: #define __ma2x5x 1 +// CHECK_MYRIAD2-2: #define __ma2x5x__ 1 // CHECK_MYRIAD2-2: #define __myriad2 2 // CHECK_MYRIAD2-2: #define __myriad2__ 2 +// CHECK_MYRIAD2-3: #define __ma2x8x 1 +// CHECK_MYRIAD2-3: #define __ma2x8x__ 1 // CHECK_MYRIAD2-3: #define __myriad2 3 // CHECK_MYRIAD2-3: #define __myriad2__ 3 // CHECK_SPARCEL: #define __sparc 1