[clang] 7c47669 - [Hexagon] Add clang flags for v71, v71t, v73

Krzysztof Parzyszek via cfe-commits cfe-commits at lists.llvm.org
Fri Nov 18 09:40:07 PST 2022


Author: Krzysztof Parzyszek
Date: 2022-11-18T09:39:47-08:00
New Revision: 7c476697e29988adcd25036d4e187cd2efcf0c6a

URL: https://github.com/llvm/llvm-project/commit/7c476697e29988adcd25036d4e187cd2efcf0c6a
DIFF: https://github.com/llvm/llvm-project/commit/7c476697e29988adcd25036d4e187cd2efcf0c6a.diff

LOG: [Hexagon] Add clang flags for v71, v71t, v73

Added: 
    

Modified: 
    clang/include/clang/Driver/Options.td
    clang/lib/Basic/Targets/Hexagon.cpp
    clang/test/Driver/hexagon-hvx.c
    clang/test/Driver/hexagon-toolchain-elf.c
    clang/test/Misc/target-invalid-cpu-note.c
    clang/test/Preprocessor/hexagon-predefines.c

Removed: 
    


################################################################################
diff  --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
index b5287300ecf08..d67dd6f99a9c4 100644
--- a/clang/include/clang/Driver/Options.td
+++ b/clang/include/clang/Driver/Options.td
@@ -4470,6 +4470,12 @@ def mv68 : Flag<["-"], "mv68">, Group<m_hexagon_Features_Group>,
   Alias<mcpu_EQ>, AliasArgs<["hexagonv68"]>;
 def mv69 : Flag<["-"], "mv69">, Group<m_hexagon_Features_Group>,
   Alias<mcpu_EQ>, AliasArgs<["hexagonv69"]>;
+def mv71 : Flag<["-"], "mv71">, Group<m_hexagon_Features_Group>,
+  Alias<mcpu_EQ>, AliasArgs<["hexagonv71"]>;
+def mv71t : Flag<["-"], "mv71t">, Group<m_hexagon_Features_Group>,
+  Alias<mcpu_EQ>, AliasArgs<["hexagonv71t"]>;
+def mv73 : Flag<["-"], "mv73">, Group<m_hexagon_Features_Group>,
+  Alias<mcpu_EQ>, AliasArgs<["hexagonv73"]>;
 def mhexagon_hvx : Flag<["-"], "mhvx">, Group<m_hexagon_Features_HVX_Group>,
   HelpText<"Enable Hexagon Vector eXtensions">;
 def mhexagon_hvx_EQ : Joined<["-"], "mhvx=">,

diff  --git a/clang/lib/Basic/Targets/Hexagon.cpp b/clang/lib/Basic/Targets/Hexagon.cpp
index 161369242926e..11e63f0853f7e 100644
--- a/clang/lib/Basic/Targets/Hexagon.cpp
+++ b/clang/lib/Basic/Targets/Hexagon.cpp
@@ -71,6 +71,15 @@ void HexagonTargetInfo::getTargetDefines(const LangOptions &Opts,
   } else if (CPU == "hexagonv69") {
     Builder.defineMacro("__HEXAGON_V69__");
     Builder.defineMacro("__HEXAGON_ARCH__", "69");
+  } else if (CPU == "hexagonv71") {
+    Builder.defineMacro("__HEXAGON_V71__");
+    Builder.defineMacro("__HEXAGON_ARCH__", "71");
+  } else if (CPU == "hexagonv71t") {
+    Builder.defineMacro("__HEXAGON_V71T__");
+    Builder.defineMacro("__HEXAGON_ARCH__", "71");
+  } else if (CPU == "hexagonv73") {
+    Builder.defineMacro("__HEXAGON_V73__");
+    Builder.defineMacro("__HEXAGON_ARCH__", "73");
   }
 
   if (hasFeature("hvx-length64b")) {
@@ -222,6 +231,8 @@ static constexpr CPUSuffix Suffixes[] = {
     {{"hexagonv65"}, {"65"}}, {{"hexagonv66"},  {"66"}},
     {{"hexagonv67"}, {"67"}}, {{"hexagonv67t"}, {"67t"}},
     {{"hexagonv68"}, {"68"}}, {{"hexagonv69"},  {"69"}},
+    {{"hexagonv71"}, {"71"}}, {{"hexagonv71t"},  {"71t"}},
+    {{"hexagonv73"}, {"73"}},
 };
 
 const char *HexagonTargetInfo::getHexagonCPUSuffix(StringRef Name) {

diff  --git a/clang/test/Driver/hexagon-hvx.c b/clang/test/Driver/hexagon-hvx.c
index 7533e0da9f12e..49cd86a928f89 100644
--- a/clang/test/Driver/hexagon-hvx.c
+++ b/clang/test/Driver/hexagon-hvx.c
@@ -28,6 +28,12 @@
 // RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-OFF %s
 // RUN: %clang -c %s -### -target hexagon-unknown-elf -mv69 \
 // RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-OFF %s
+// RUN: %clang -c %s -### -target hexagon-unknown-elf -mv71 \
+// RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-OFF %s
+// RUN: %clang -c %s -### -target hexagon-unknown-elf -mv71t \
+// RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-OFF %s
+// RUN: %clang -c %s -### -target hexagon-unknown-elf -mv73 \
+// RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-OFF %s
 
 // Infer HVX version from flag:
 
@@ -38,6 +44,8 @@
 // CHECK-HVX-V67: "-target-feature" "+hvxv67"
 // CHECK-HVX-V68: "-target-feature" "+hvxv68"
 // CHECK-HVX-V69: "-target-feature" "+hvxv69"
+// CHECK-HVX-V71: "-target-feature" "+hvxv71"
+// CHECK-HVX-V73: "-target-feature" "+hvxv73"
 
 // Direct version flag:
 // RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v60 \
@@ -54,6 +62,10 @@
 // RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V68 %s
 // RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v69 \
 // RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V69 %s
+// RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v71 \
+// RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V71 %s
+// RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v73 \
+// RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V73 %s
 // Infer HVX version from CPU version:
 // RUN: %clang -c %s -### -target hexagon-unknown-elf -mv60 -mhvx \
 // RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V60 %s
@@ -71,6 +83,10 @@
 // RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V68 %s
 // RUN: %clang -c %s -### -target hexagon-unknown-elf -mv69 -mhvx \
 // RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V69 %s
+// RUN: %clang -c %s -### -target hexagon-unknown-elf -mv71 -mhvx \
+// RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V71 %s
+// RUN: %clang -c %s -### -target hexagon-unknown-elf -mv73 -mhvx \
+// RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V73 %s
 
 // Direct version flag with 
diff erent CPU version:
 // RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v60 -mv62 \
@@ -85,8 +101,12 @@
 // RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V67 %s
 // RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v68 -mv69 \
 // RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V68 %s
-// RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v69 -mv60 \
+// RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v69 -mv71 \
 // RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V69 %s
+// RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v71 -mv73 \
+// RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V71 %s
+// RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v73 -mv60 \
+// RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V73 %s
 
 // Direct version flag with 
diff erent CPU version and versionless -mhvx:
 // RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v60 -mv62 -mhvx \
@@ -101,7 +121,11 @@
 // RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V68 %s
 // RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v68 -mv69 -mhvx \
 // RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V69 %s
-// RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v69 -mv60 -mhvx \
+// RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v69 -mv71 -mhvx \
+// RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V71 %s
+// RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v71 -mv73 -mhvx \
+// RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V73 %s
+// RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v73 -mv60 -mhvx \
 // RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V60 %s
 
 // Direct version flag with 
diff erent CPU version, versionless -mhvx
@@ -118,7 +142,11 @@
 // RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V68 %s
 // RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v68 -mno-hvx -mv69 -mhvx \
 // RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V69 %s
-// RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v69 -mno-hvx -mv60 -mhvx \
+// RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v69 -mno-hvx -mv71 -mhvx \
+// RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V71 %s
+// RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v71 -mno-hvx -mv73 -mhvx \
+// RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V73 %s
+// RUN: %clang -c %s -### -target hexagon-unknown-elf -mhvx=v73 -mno-hvx -mv60 -mhvx \
 // RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V60 %s
 
 // Direct version flag with 
diff erent CPU version, versionless -mhvx
@@ -135,8 +163,12 @@
 // RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V67 %s
 // RUN: %clang -c %s -### -target hexagon-unknown-elf -mv69 -mhvx -mno-hvx -mhvx=v68 \
 // RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V68 %s
-// RUN: %clang -c %s -### -target hexagon-unknown-elf -mv60 -mhvx -mno-hvx -mhvx=v69 \
+// RUN: %clang -c %s -### -target hexagon-unknown-elf -mv71 -mhvx -mno-hvx -mhvx=v69 \
 // RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V69 %s
+// RUN: %clang -c %s -### -target hexagon-unknown-elf -mv73 -mhvx -mno-hvx -mhvx=v71 \
+// RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V71 %s
+// RUN: %clang -c %s -### -target hexagon-unknown-elf -mv60 -mhvx -mno-hvx -mhvx=v73 \
+// RUN:  2>&1 | FileCheck -check-prefix=CHECK-HVX-V73 %s
 
 // Infer HVX length from flag:
 

diff  --git a/clang/test/Driver/hexagon-toolchain-elf.c b/clang/test/Driver/hexagon-toolchain-elf.c
index 51132ffce02bd..477bc8a969b92 100644
--- a/clang/test/Driver/hexagon-toolchain-elf.c
+++ b/clang/test/Driver/hexagon-toolchain-elf.c
@@ -23,36 +23,36 @@
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -nostdinc \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK010 %s
-// CHECK010: "-cc1"
-// CHECK010-NOT: "-internal-externc-isystem"
+// RUN:   | FileCheck -check-prefix=CHECK110 %s
+// CHECK110: "-cc1"
+// CHECK110-NOT: "-internal-externc-isystem"
 
 // RUN: %clang -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -nostdlibinc \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK011 %s
-// CHECK011: "-cc1"
-// CHECK011-NOT: "-internal-externc-isystem"
+// RUN:   | FileCheck -check-prefix=CHECK111 %s
+// CHECK111: "-cc1"
+// CHECK111-NOT: "-internal-externc-isystem"
 
 // RUN: %clangxx -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -nostdinc++ \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK012 %s
-// CHECK012: "-cc1"
-// CHECK012-NOT: "-internal-isystem"
-// CHECK012-DAG: "-internal-externc-isystem" "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/include"
+// RUN:   | FileCheck -check-prefix=CHECK112 %s
+// CHECK112: "-cc1"
+// CHECK112-NOT: "-internal-isystem"
+// CHECK112-DAG: "-internal-externc-isystem" "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/include"
 
 // RUN: %clangxx -### -target hexagon-unknown-elf -fno-integrated-as    \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/qc/bin \
 // RUN:   --gcc-toolchain="" \
 // RUN:   -nostdlibinc \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK013 %s
-// CHECK013: "-cc1"
-// CHECK013-NOT: "-internal-isystem"
-// CHECK013-NOT: "-internal-externc-isystem"
+// RUN:   | FileCheck -check-prefix=CHECK113 %s
+// CHECK113: "-cc1"
+// CHECK113-NOT: "-internal-isystem"
+// CHECK113-NOT: "-internal-externc-isystem"
 
 // -----------------------------------------------------------------------------
 // Test -mcpu=<cpuname> -mv<number>
@@ -61,111 +61,135 @@
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv5 \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK021 %s
-// CHECK021: "-cc1" {{.*}} "-target-cpu" "hexagonv5"
-// CHECK021: {{hexagon-link|ld}}{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v5/crt0
+// RUN:   | FileCheck -check-prefix=CHECK221 %s
+// CHECK221: "-cc1" {{.*}} "-target-cpu" "hexagonv5"
+// CHECK221: {{hexagon-link|ld}}{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v5/crt0
 
 // RUN: %clang -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv55 \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK022 %s
-// CHECK022: "-cc1" {{.*}} "-target-cpu" "hexagonv55"
-// CHECK022: {{hexagon-link|ld}}{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v55/crt0
+// RUN:   | FileCheck -check-prefix=CHECK222 %s
+// CHECK222: "-cc1" {{.*}} "-target-cpu" "hexagonv55"
+// CHECK222: {{hexagon-link|ld}}{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v55/crt0
 
 // RUN: %clang -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK023 %s
-// CHECK023: "-cc1" {{.*}} "-target-cpu" "hexagonv60"
-// CHECK023: {{hexagon-link|ld}}{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0
+// RUN:   | FileCheck -check-prefix=CHECK223 %s
+// CHECK223: "-cc1" {{.*}} "-target-cpu" "hexagonv60"
+// CHECK223: {{hexagon-link|ld}}{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0
 
 // RUN: %clang -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv62 \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK024 %s
-// CHECK024: "-cc1" {{.*}} "-target-cpu" "hexagonv62"
-// CHECK024: {{hexagon-link|ld}}{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v62/crt0
+// RUN:   | FileCheck -check-prefix=CHECK224 %s
+// CHECK224: "-cc1" {{.*}} "-target-cpu" "hexagonv62"
+// CHECK224: {{hexagon-link|ld}}{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v62/crt0
 
 // RUN: %clang -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv65 \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK025 %s
-// CHECK025: "-cc1" {{.*}} "-target-cpu" "hexagonv65"
-// CHECK025: {{hexagon-link|ld}}{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v65/crt0
+// RUN:   | FileCheck -check-prefix=CHECK225 %s
+// CHECK225: "-cc1" {{.*}} "-target-cpu" "hexagonv65"
+// CHECK225: {{hexagon-link|ld}}{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v65/crt0
 
 // RUN: %clang -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv66 \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK026 %s
-// CHECK026: "-cc1" {{.*}} "-target-cpu" "hexagonv66"
-// CHECK026: {{hexagon-link|ld}}{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v66/crt0
+// RUN:   | FileCheck -check-prefix=CHECK226 %s
+// CHECK226: "-cc1" {{.*}} "-target-cpu" "hexagonv66"
+// CHECK226: {{hexagon-link|ld}}{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v66/crt0
 
 // RUN: %clang -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -O3 \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK027 %s
-// CHECK027-NOT: "-ffp-contract=fast"
-// CHECK027: {{hexagon-link|ld}}
+// RUN:   | FileCheck -check-prefix=CHECK227 %s
+// CHECK227-NOT: "-ffp-contract=fast"
+// CHECK227: {{hexagon-link|ld}}
 
 // RUN: %clang -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -O3 -ffp-contract=off \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK028 %s
-// CHECK028-NOT: "-ffp-contract=fast"
-// CHECK028: {{hexagon-link|ld}}
+// RUN:   | FileCheck -check-prefix=CHECK228 %s
+// CHECK228-NOT: "-ffp-contract=fast"
+// CHECK228: {{hexagon-link|ld}}
 
 // RUN: %clang -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv65 -march=hexagon\
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK029 %s
+// RUN:   | FileCheck -check-prefix=CHECK229 %s
 // RUN: %clang -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mv65 -march=hexagon\
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK029 %s
-// CHECK029: "-cc1" {{.*}} "-target-cpu" "hexagonv65"
-// CHECK029: {{hexagon-link|ld}}{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v65/crt0
+// RUN:   | FileCheck -check-prefix=CHECK229 %s
+// CHECK229: "-cc1" {{.*}} "-target-cpu" "hexagonv65"
+// CHECK229: {{hexagon-link|ld}}{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v65/crt0
 
 // RUN: %clang -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv67 -fuse-ld=hexagon-link\
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK02A %s
-// CHECK02A: "-cc1" {{.*}} "-target-cpu" "hexagonv67"
-// CHECK02A: hexagon-link{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v67/crt0
+// RUN:   | FileCheck -check-prefix=CHECK22A %s
+// CHECK22A: "-cc1" {{.*}} "-target-cpu" "hexagonv67"
+// CHECK22A: hexagon-link{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v67/crt0
 
 // RUN: %clang -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv67t \
 // RUN:   -fuse-ld=fake-value-to-ignore-CLANG_DEFAULT_LINKER \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK02B %s
-// CHECK02B: "-cc1" {{.*}} "-target-cpu" "hexagonv67t"
-// CHECK02B: hexagon-link{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v67t/crt0
+// RUN:   | FileCheck -check-prefix=CHECK22B %s
+// CHECK22B: "-cc1" {{.*}} "-target-cpu" "hexagonv67t"
+// CHECK22B: hexagon-link{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v67t/crt0
 
 // RUN: %clang -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv68 -fuse-ld=hexagon-link\
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK02C %s
-// CHECK02C: "-cc1" {{.*}} "-target-cpu" "hexagonv68"
-// CHECK02C: hexagon-link{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v68/crt0
+// RUN:   | FileCheck -check-prefix=CHECK22C %s
+// CHECK22C: "-cc1" {{.*}} "-target-cpu" "hexagonv68"
+// CHECK22C: hexagon-link{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v68/crt0
 
 // RUN: %clang -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv69 -fuse-ld=hexagon-link\
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK02D %s
-// CHECK02D: "-cc1" {{.*}} "-target-cpu" "hexagonv69"
-// CHECK02D: hexagon-link{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v69/crt0
+// RUN:   | FileCheck -check-prefix=CHECK22D %s
+// CHECK22D: "-cc1" {{.*}} "-target-cpu" "hexagonv69"
+// CHECK22D: hexagon-link{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v69/crt0
+
+// RUN: %clang -### -target hexagon-unknown-elf \
+// RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
+// RUN:   -mcpu=hexagonv71 -fuse-ld=hexagon-link\
+// RUN:   %s 2>&1 \
+// RUN:   | FileCheck -check-prefix=CHECK22E %s
+// CHECK22E: "-cc1" {{.*}} "-target-cpu" "hexagonv71"
+// CHECK22E: hexagon-link{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v71/crt0
+
+// RUN: %clang -### -target hexagon-unknown-elf \
+// RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
+// RUN:   -mcpu=hexagonv71t -fuse-ld=hexagon-link\
+// RUN:   %s 2>&1 \
+// RUN:   | FileCheck -check-prefix=CHECK22F %s
+// CHECK22F: "-cc1" {{.*}} "-target-cpu" "hexagonv71t"
+// CHECK22F: hexagon-link{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v71t/crt0
+
+// RUN: %clang -### -target hexagon-unknown-elf \
+// RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
+// RUN:   -mcpu=hexagonv73 -fuse-ld=hexagon-link\
+// RUN:   %s 2>&1 \
+// RUN:   | FileCheck -check-prefix=CHECK230 %s
+// CHECK230: "-cc1" {{.*}} "-target-cpu" "hexagonv73"
+// CHECK230: hexagon-link{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v73/crt0
 
 // -----------------------------------------------------------------------------
 // Test Linker related args
@@ -178,19 +202,19 @@
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK030 %s
-// CHECK030: "-cc1"
-// CHECK030: {{hexagon-link|ld}}
-// CHECK030-NOT: "-static"
-// CHECK030-NOT: "-shared"
-// CHECK030: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0_standalone.o"
-// CHECK030: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0.o"
-// CHECK030: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/init.o"
-// CHECK030: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
-// CHECK030: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
-// CHECK030: "{{[^"]+}}.o"
-// CHECK030: "--start-group" "-lstandalone" "-lc" "-lgcc" "--end-group"
-// CHECK030: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/fini.o"
+// RUN:   | FileCheck -check-prefix=CHECK330 %s
+// CHECK330: "-cc1"
+// CHECK330: {{hexagon-link|ld}}
+// CHECK330-NOT: "-static"
+// CHECK330-NOT: "-shared"
+// CHECK330: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0_standalone.o"
+// CHECK330: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0.o"
+// CHECK330: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/init.o"
+// CHECK330: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
+// CHECK330: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
+// CHECK330: "{{[^"]+}}.o"
+// CHECK330: "--start-group" "-lstandalone" "-lc" "-lgcc" "--end-group"
+// CHECK330: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/fini.o"
 
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 // Defaults for C++
@@ -199,20 +223,20 @@
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK031 %s
-// CHECK031: "-cc1"
-// CHECK031: {{hexagon-link|ld}}
-// CHECK031-NOT: "-static"
-// CHECK031-NOT: "-shared"
-// CHECK031: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0_standalone.o"
-// CHECK031: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0.o"
-// CHECK031: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/init.o"
-// CHECK031: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
-// CHECK031: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
-// CHECK031: "{{[^"]+}}.o"
-// CHECK031: "-lstdc++" "-lm"
-// CHECK031: "--start-group" "-lstandalone" "-lc" "-lgcc" "--end-group"
-// CHECK031: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/fini.o"
+// RUN:   | FileCheck -check-prefix=CHECK331 %s
+// CHECK331: "-cc1"
+// CHECK331: {{hexagon-link|ld}}
+// CHECK331-NOT: "-static"
+// CHECK331-NOT: "-shared"
+// CHECK331: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0_standalone.o"
+// CHECK331: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0.o"
+// CHECK331: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/init.o"
+// CHECK331: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
+// CHECK331: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
+// CHECK331: "{{[^"]+}}.o"
+// CHECK331: "-lstdc++" "-lm"
+// CHECK331: "--start-group" "-lstandalone" "-lc" "-lgcc" "--end-group"
+// CHECK331: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/fini.o"
 
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 // Additional Libraries (-L)
@@ -222,20 +246,20 @@
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   -Lone -L two -L three \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK032 %s
-// CHECK032: "-cc1"
-// CHECK032: {{hexagon-link|ld}}
-// CHECK032-NOT: "-static"
-// CHECK032-NOT: "-shared"
-// CHECK032: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0_standalone.o"
-// CHECK032: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0.o"
-// CHECK032: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/init.o"
-// CHECK032: "-Lone" "-Ltwo" "-Lthree"
-// CHECK032: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
-// CHECK032: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
-// CHECK032: "{{[^"]+}}.o"
-// CHECK032: "--start-group" "-lstandalone" "-lc" "-lgcc" "--end-group"
-// CHECK032: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/fini.o"
+// RUN:   | FileCheck -check-prefix=CHECK332 %s
+// CHECK332: "-cc1"
+// CHECK332: {{hexagon-link|ld}}
+// CHECK332-NOT: "-static"
+// CHECK332-NOT: "-shared"
+// CHECK332: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0_standalone.o"
+// CHECK332: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0.o"
+// CHECK332: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/init.o"
+// CHECK332: "-Lone" "-Ltwo" "-Lthree"
+// CHECK332: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
+// CHECK332: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
+// CHECK332: "{{[^"]+}}.o"
+// CHECK332: "--start-group" "-lstandalone" "-lc" "-lgcc" "--end-group"
+// CHECK332: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/fini.o"
 
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 // -static, -shared
@@ -245,41 +269,41 @@
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   -static \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK033 %s
-// CHECK033: "-cc1"
-// CHECK033: {{hexagon-link|ld}}
-// CHECK033: "-static"
-// CHECK033: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0_standalone.o"
-// CHECK033: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0.o"
-// CHECK033: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/init.o"
-// CHECK033: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
-// CHECK033: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
-// CHECK033: "{{[^"]+}}.o"
-// CHECK033: "--start-group" "-lstandalone" "-lc" "-lgcc" "--end-group"
-// CHECK033: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/fini.o"
+// RUN:   | FileCheck -check-prefix=CHECK333 %s
+// CHECK333: "-cc1"
+// CHECK333: {{hexagon-link|ld}}
+// CHECK333: "-static"
+// CHECK333: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0_standalone.o"
+// CHECK333: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0.o"
+// CHECK333: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/init.o"
+// CHECK333: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
+// CHECK333: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
+// CHECK333: "{{[^"]+}}.o"
+// CHECK333: "--start-group" "-lstandalone" "-lc" "-lgcc" "--end-group"
+// CHECK333: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/fini.o"
 
 // RUN: %clang -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   -shared \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK034 %s
-// CHECK034: "-cc1"
-// CHECK034: {{hexagon-link|ld}}
-// CHECK034: "-shared" "-call_shared"
-// CHECK034-NOT: crt0_standalone.o
-// CHECK034-NOT: crt0.o
-// CHECK034: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/G0/pic/initS.o"
-// CHECK034: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/G0"
-// CHECK034: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
-// CHECK034: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
-// CHECK034: "{{[^"]+}}.o"
-// CHECK034: "--start-group"
-// CHECK034-NOT: "-lstandalone"
-// CHECK034-NOT: "-lc"
-// CHECK034: "-lgcc"
-// CHECK034: "--end-group"
-// CHECK034: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/G0/pic/finiS.o"
+// RUN:   | FileCheck -check-prefix=CHECK334 %s
+// CHECK334: "-cc1"
+// CHECK334: {{hexagon-link|ld}}
+// CHECK334: "-shared" "-call_shared"
+// CHECK334-NOT: crt0_standalone.o
+// CHECK334-NOT: crt0.o
+// CHECK334: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/G0/pic/initS.o"
+// CHECK334: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/G0"
+// CHECK334: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
+// CHECK334: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
+// CHECK334: "{{[^"]+}}.o"
+// CHECK334: "--start-group"
+// CHECK334-NOT: "-lstandalone"
+// CHECK334-NOT: "-lc"
+// CHECK334: "-lgcc"
+// CHECK334: "--end-group"
+// CHECK334: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/G0/pic/finiS.o"
 
 // RUN: %clang -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
@@ -287,23 +311,23 @@
 // RUN:   -shared \
 // RUN:   -static \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK035 %s
-// CHECK035: "-cc1"
-// CHECK035: {{hexagon-link|ld}}
-// CHECK035: "-shared" "-call_shared" "-static"
-// CHECK035-NOT: crt0_standalone.o
-// CHECK035-NOT: crt0.o
-// CHECK035: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/G0/init.o"
-// CHECK035: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/G0"
-// CHECK035: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
-// CHECK035: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
-// CHECK035: "{{[^"]+}}.o"
-// CHECK035: "--start-group"
-// CHECK035-NOT: "-lstandalone"
-// CHECK035-NOT: "-lc"
-// CHECK035: "-lgcc"
-// CHECK035: "--end-group"
-// CHECK035: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/G0/fini.o"
+// RUN:   | FileCheck -check-prefix=CHECK335 %s
+// CHECK335: "-cc1"
+// CHECK335: {{hexagon-link|ld}}
+// CHECK335: "-shared" "-call_shared" "-static"
+// CHECK335-NOT: crt0_standalone.o
+// CHECK335-NOT: crt0.o
+// CHECK335: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/G0/init.o"
+// CHECK335: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/G0"
+// CHECK335: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
+// CHECK335: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
+// CHECK335: "{{[^"]+}}.o"
+// CHECK335: "--start-group"
+// CHECK335-NOT: "-lstandalone"
+// CHECK335-NOT: "-lc"
+// CHECK335: "-lgcc"
+// CHECK335: "--end-group"
+// CHECK335: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/G0/fini.o"
 
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 // -nostdlib, -nostartfiles, -nodefaultlibs
@@ -313,69 +337,69 @@
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   -nostdlib \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK036 %s
-// CHECK036: "-cc1"
-// CHECK036: {{hexagon-link|ld}}
-// CHECK036-NOT: crt0_standalone.o
-// CHECK036-NOT: crt0.o
-// CHECK036-NOT: init.o
-// CHECK036: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
-// CHECK036: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
-// CHECK036: "{{[^"]+}}.o"
-// CHECK036-NOT: "-lstdc++"
-// CHECK036-NOT: "-lm"
-// CHECK036-NOT: "--start-group"
-// CHECK036-NOT: "-lstandalone"
-// CHECK036-NOT: "-lc"
-// CHECK036-NOT: "-lgcc"
-// CHECK036-NOT: "--end-group"
-// CHECK036-NOT: fini.o
+// RUN:   | FileCheck -check-prefix=CHECK336 %s
+// CHECK336: "-cc1"
+// CHECK336: {{hexagon-link|ld}}
+// CHECK336-NOT: crt0_standalone.o
+// CHECK336-NOT: crt0.o
+// CHECK336-NOT: init.o
+// CHECK336: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
+// CHECK336: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
+// CHECK336: "{{[^"]+}}.o"
+// CHECK336-NOT: "-lstdc++"
+// CHECK336-NOT: "-lm"
+// CHECK336-NOT: "--start-group"
+// CHECK336-NOT: "-lstandalone"
+// CHECK336-NOT: "-lc"
+// CHECK336-NOT: "-lgcc"
+// CHECK336-NOT: "--end-group"
+// CHECK336-NOT: fini.o
 
 // RUN: %clangxx -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   -nostartfiles \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK037 %s
-// CHECK037: "-cc1"
-// CHECK037: {{hexagon-link|ld}}
-// CHECK037-NOT: crt0_standalone.o
-// CHECK037-NOT: crt0.o
-// CHECK037-NOT: init.o
-// CHECK037: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
-// CHECK037: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
-// CHECK037: "{{[^"]+}}.o"
-// CHECK037: "-lstdc++"
-// CHECK037: "-lm"
-// CHECK037: "--start-group"
-// CHECK037: "-lstandalone"
-// CHECK037: "-lc"
-// CHECK037: "-lgcc"
-// CHECK037: "--end-group"
-// CHECK037-NOT: fini.o
+// RUN:   | FileCheck -check-prefix=CHECK337 %s
+// CHECK337: "-cc1"
+// CHECK337: {{hexagon-link|ld}}
+// CHECK337-NOT: crt0_standalone.o
+// CHECK337-NOT: crt0.o
+// CHECK337-NOT: init.o
+// CHECK337: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
+// CHECK337: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
+// CHECK337: "{{[^"]+}}.o"
+// CHECK337: "-lstdc++"
+// CHECK337: "-lm"
+// CHECK337: "--start-group"
+// CHECK337: "-lstandalone"
+// CHECK337: "-lc"
+// CHECK337: "-lgcc"
+// CHECK337: "--end-group"
+// CHECK337-NOT: fini.o
 
 // RUN: %clangxx -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   -nodefaultlibs \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK038 %s
-// CHECK038: "-cc1"
-// CHECK038: {{hexagon-link|ld}}
-// CHECK038: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0_standalone.o"
-// CHECK038: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0.o"
-// CHECK038: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/init.o"
-// CHECK038: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
-// CHECK038: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
-// CHECK038: "{{[^"]+}}.o"
-// CHECK038-NOT: "-lstdc++"
-// CHECK038-NOT: "-lm"
-// CHECK038-NOT: "--start-group"
-// CHECK038-NOT: "-lstandalone"
-// CHECK038-NOT: "-lc"
-// CHECK038-NOT: "-lgcc"
-// CHECK038-NOT: "--end-group"
-// CHECK038: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/fini.o"
+// RUN:   | FileCheck -check-prefix=CHECK338 %s
+// CHECK338: "-cc1"
+// CHECK338: {{hexagon-link|ld}}
+// CHECK338: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0_standalone.o"
+// CHECK338: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0.o"
+// CHECK338: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/init.o"
+// CHECK338: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
+// CHECK338: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
+// CHECK338: "{{[^"]+}}.o"
+// CHECK338-NOT: "-lstdc++"
+// CHECK338-NOT: "-lm"
+// CHECK338-NOT: "--start-group"
+// CHECK338-NOT: "-lstandalone"
+// CHECK338-NOT: "-lc"
+// CHECK338-NOT: "-lgcc"
+// CHECK338-NOT: "--end-group"
+// CHECK338: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/fini.o"
 
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 // -moslib
@@ -385,44 +409,44 @@
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   -moslib=first -moslib=second \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK039 %s
-// CHECK039: "-cc1"
-// CHECK039: {{hexagon-link|ld}}
-// CHECK039-NOT: "-static"
-// CHECK039-NOT: "-shared"
-// CHECK039-NOT: crt0_standalone.o
-// CHECK039: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0.o"
-// CHECK039: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/init.o"
-// CHECK039: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
-// CHECK039: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
-// CHECK039: "{{[^"]+}}.o"
-// CHECK039: "--start-group"
-// CHECK039: "-lfirst" "-lsecond"
-// CHECK039-NOT: "-lstandalone"
-// CHECK039: "-lc" "-lgcc" "--end-group"
-// CHECK039: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/fini.o"
+// RUN:   | FileCheck -check-prefix=CHECK339 %s
+// CHECK339: "-cc1"
+// CHECK339: {{hexagon-link|ld}}
+// CHECK339-NOT: "-static"
+// CHECK339-NOT: "-shared"
+// CHECK339-NOT: crt0_standalone.o
+// CHECK339: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0.o"
+// CHECK339: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/init.o"
+// CHECK339: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
+// CHECK339: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
+// CHECK339: "{{[^"]+}}.o"
+// CHECK339: "--start-group"
+// CHECK339: "-lfirst" "-lsecond"
+// CHECK339-NOT: "-lstandalone"
+// CHECK339: "-lc" "-lgcc" "--end-group"
+// CHECK339: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/fini.o"
 
 // RUN: %clang -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   -moslib=first -moslib=second -moslib=standalone \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK03A %s
-// CHECK03A: "-cc1"
-// CHECK03A: {{hexagon-link|ld}}
-// CHECK03A-NOT: "-static"
-// CHECK03A-NOT: "-shared"
-// CHECK03A: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0_standalone.o"
-// CHECK03A: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0.o"
-// CHECK03A: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/init.o"
-// CHECK03A: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
-// CHECK03A: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
-// CHECK03A: "{{[^"]+}}.o"
-// CHECK03A: "--start-group"
-// CHECK03A: "-lfirst" "-lsecond"
-// CHECK03A: "-lstandalone"
-// CHECK03A: "-lc" "-lgcc" "--end-group"
-// CHECK03A: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/fini.o"
+// RUN:   | FileCheck -check-prefix=CHECK33A %s
+// CHECK33A: "-cc1"
+// CHECK33A: {{hexagon-link|ld}}
+// CHECK33A-NOT: "-static"
+// CHECK33A-NOT: "-shared"
+// CHECK33A: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0_standalone.o"
+// CHECK33A: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0.o"
+// CHECK33A: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/init.o"
+// CHECK33A: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
+// CHECK33A: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
+// CHECK33A: "{{[^"]+}}.o"
+// CHECK33A: "--start-group"
+// CHECK33A: "-lfirst" "-lsecond"
+// CHECK33A: "-lstandalone"
+// CHECK33A: "-lc" "-lgcc" "--end-group"
+// CHECK33A: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/fini.o"
 
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 // Other args to pass to linker
@@ -435,21 +459,21 @@
 // RUN:   -e start_here \
 // RUN:   -uFoo -undefined Bar \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK03B %s
-// CHECK03B: "-cc1"
-// CHECK03B: {{hexagon-link|ld}}
-// CHECK03B: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0_standalone.o"
-// CHECK03B: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0.o"
-// CHECK03B: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/init.o"
-// CHECK03B: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
-// CHECK03B: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
-// CHECK03B: "-s"
-// CHECK03B: "-t"
-// CHECK03B: "-u" "Foo" "-undefined" "Bar"
-// CHECK03B: "{{[^"]+}}.o"
-// CHECK03B: "-lstdc++" "-lm"
-// CHECK03B: "--start-group" "-lstandalone" "-lc" "-lgcc" "--end-group"
-// CHECK03B: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/fini.o"
+// RUN:   | FileCheck -check-prefix=CHECK33B %s
+// CHECK33B: "-cc1"
+// CHECK33B: {{hexagon-link|ld}}
+// CHECK33B: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0_standalone.o"
+// CHECK33B: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/crt0.o"
+// CHECK33B: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/init.o"
+// CHECK33B: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60"
+// CHECK33B: "-L{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib"
+// CHECK33B: "-s"
+// CHECK33B: "-t"
+// CHECK33B: "-u" "Foo" "-undefined" "Bar"
+// CHECK33B: "{{[^"]+}}.o"
+// CHECK33B: "-lstdc++" "-lm"
+// CHECK33B: "--start-group" "-lstandalone" "-lc" "-lgcc" "--end-group"
+// CHECK33B: "{{.*}}/Inputs/hexagon_tree/Tools/bin/../target/hexagon/lib/v60/fini.o"
 
 // -----------------------------------------------------------------------------
 // pic, small data threshold
@@ -458,55 +482,55 @@
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK040 %s
-// CHECK040:      "-cc1"
-// CHECK040: {{hexagon-link|ld}}
-// CHECK040-NOT:  "-G{{[0-9]+}}"
+// RUN:   | FileCheck -check-prefix=CHECK340 %s
+// CHECK340:      "-cc1"
+// CHECK340: {{hexagon-link|ld}}
+// CHECK340-NOT:  "-G{{[0-9]+}}"
 
 // RUN: %clang -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   -fpic \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK041 %s
+// RUN:   | FileCheck -check-prefix=CHECK341 %s
 // RUN: %clang -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   -fPIC \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK041 %s
-// CHECK041:      "-cc1"
-// CHECK041-NOT:  "-mrelocation-model" "static"
-// CHECK041:      "-pic-level" "{{[12]}}"
-// CHECK041:      "-mllvm" "-hexagon-small-data-threshold=0"
-// CHECK041: {{hexagon-link|ld}}
-// CHECK041:      "-G0"
+// RUN:   | FileCheck -check-prefix=CHECK341 %s
+// CHECK341:      "-cc1"
+// CHECK341-NOT:  "-mrelocation-model" "static"
+// CHECK341:      "-pic-level" "{{[12]}}"
+// CHECK341:      "-mllvm" "-hexagon-small-data-threshold=0"
+// CHECK341: {{hexagon-link|ld}}
+// CHECK341:      "-G0"
 
 // RUN: %clang -### -target hexagon-unknown-elf -fno-integrated-as -fno-pie -no-pie \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   -G=8 \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK042 %s
+// RUN:   | FileCheck -check-prefix=CHECK342 %s
 // RUN: %clang -### -target hexagon-unknown-elf -fno-integrated-as -fno-pie -no-pie \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   -G 8 \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK042 %s
+// RUN:   | FileCheck -check-prefix=CHECK342 %s
 // RUN: %clang -### -target hexagon-unknown-elf -fno-integrated-as -fno-pie -no-pie \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   -msmall-data-threshold=8 \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK042 %s
-// CHECK042:      "-cc1"
-// CHECK042:      "-mrelocation-model" "static"
-// CHECK042:      "-mllvm" "-hexagon-small-data-threshold=8"
-// CHECK042-NEXT: llvm-mc
-// CHECK042:      "-gpsize=8"
-// CHECK042: {{hexagon-link|ld}}
-// CHECK042:      "-G8"
+// RUN:   | FileCheck -check-prefix=CHECK342 %s
+// CHECK342:      "-cc1"
+// CHECK342:      "-mrelocation-model" "static"
+// CHECK342:      "-mllvm" "-hexagon-small-data-threshold=8"
+// CHECK342-NEXT: llvm-mc
+// CHECK342:      "-gpsize=8"
+// CHECK342: {{hexagon-link|ld}}
+// CHECK342:      "-G8"
 
 // -----------------------------------------------------------------------------
 // pie
@@ -516,20 +540,20 @@
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   -pie \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK050 %s
-// CHECK050:      "-cc1"
-// CHECK050:      {{hexagon-link|ld}}
-// CHECK050:      "-pie"
+// RUN:   | FileCheck -check-prefix=CHECK350 %s
+// CHECK350:      "-cc1"
+// CHECK350:      {{hexagon-link|ld}}
+// CHECK350:      "-pie"
 
 // RUN: %clang -### -target hexagon-unknown-elf \
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   -pie -shared \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK051 %s
-// CHECK051:      "-cc1"
-// CHECK051:      {{hexagon-link|ld}}
-// CHECK051-NOT:  "-pie"
+// RUN:   | FileCheck -check-prefix=CHECK351 %s
+// CHECK351:      "-cc1"
+// CHECK351:      {{hexagon-link|ld}}
+// CHECK351-NOT:  "-pie"
 
 // -----------------------------------------------------------------------------
 // Test Assembler related args
@@ -541,21 +565,21 @@
 // RUN:   -Wa,--noexecstack,--trap \
 // RUN:   -Xassembler --keep-locals \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK060 %s
-// CHECK060:      "-cc1"
-// CHECK060-NEXT: llvm-mc
-// CHECK060:      "--noexecstack" "--trap" "--keep-locals"
-// CHECK060:      {{hexagon-link|ld}}
+// RUN:   | FileCheck -check-prefix=CHECK360 %s
+// CHECK360:      "-cc1"
+// CHECK360-NEXT: llvm-mc
+// CHECK360:      "--noexecstack" "--trap" "--keep-locals"
+// CHECK360:      {{hexagon-link|ld}}
 
 // -----------------------------------------------------------------------------
 // ffixed-r19
 // -----------------------------------------------------------------------------
 // RUN: %clang -### -target hexagon-unknown-elf -ffixed-r19 %s 2>&1 \
-// RUN:        | FileCheck --check-prefix=CHECK070 %s
-// CHECK070: "-target-feature" "+reserved-r19"
+// RUN:        | FileCheck --check-prefix=CHECK370 %s
+// CHECK370: "-target-feature" "+reserved-r19"
 // RUN: %clang -### -target hexagon-unknown-elf %s 2>&1 \
-// RUN:        | FileCheck --check-prefix=CHECK071 %s
-// CHECK071-NOT: "+reserved-r19"
+// RUN:        | FileCheck --check-prefix=CHECK371 %s
+// CHECK371-NOT: "+reserved-r19"
 
 // -----------------------------------------------------------------------------
 // Misc Defaults
@@ -564,9 +588,9 @@
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK080 %s
-// CHECK080:      "-cc1"
-// CHECK080:      "-Wreturn-type"
+// RUN:   | FileCheck -check-prefix=CHECK380 %s
+// CHECK380:      "-cc1"
+// CHECK380:      "-Wreturn-type"
 
 // -----------------------------------------------------------------------------
 // Default, hexagon-link is used
@@ -576,10 +600,10 @@
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   -fuse-ld=fake-value-to-ignore-CLANG_DEFAULT_LINKER \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK081 %s
+// RUN:   | FileCheck -check-prefix=CHECK381 %s
 // REQUIRES: hexagon-registered-target
-// CHECK081:      "-march=hexagon"
-// CHECK081:      "-mcpu=hexagonv60"
+// CHECK381:      "-march=hexagon"
+// CHECK381:      "-mcpu=hexagonv60"
 // -----------------------------------------------------------------------------
 // Passing -fuse-ld=lld
 // -----------------------------------------------------------------------------
@@ -588,9 +612,9 @@
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   -fuse-ld=lld \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK082 %s
-// CHECK082-NOT:      -march=
-// CHECK082-NOT:      -mcpu=
+// RUN:   | FileCheck -check-prefix=CHECK382 %s
+// CHECK382-NOT:      -march=
+// CHECK382-NOT:      -mcpu=
 // -----------------------------------------------------------------------------
 // Passing --sysroot
 // -----------------------------------------------------------------------------
@@ -599,9 +623,9 @@
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   --sysroot=/hexagon \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK083 %s
-// CHECK083:          "-isysroot" "/hexagon"
-// CHECK083:          "-internal-externc-isystem" "/hexagon{{/|\\\\}}include"
+// RUN:   | FileCheck -check-prefix=CHECK383 %s
+// CHECK383:          "-isysroot" "/hexagon"
+// CHECK383:          "-internal-externc-isystem" "/hexagon{{/|\\\\}}include"
 // -----------------------------------------------------------------------------
 // Passing -fno-use-init-array
 // -----------------------------------------------------------------------------
@@ -609,5 +633,5 @@
 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
 // RUN:   -mcpu=hexagonv60 \
 // RUN:   %s 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK084 %s
-// CHECK084:          "-fno-use-init-array"
+// RUN:   | FileCheck -check-prefix=CHECK384 %s
+// CHECK384:          "-fno-use-init-array"

diff  --git a/clang/test/Misc/target-invalid-cpu-note.c b/clang/test/Misc/target-invalid-cpu-note.c
index d00b5df08bc39..a8e6dcf9fad02 100644
--- a/clang/test/Misc/target-invalid-cpu-note.c
+++ b/clang/test/Misc/target-invalid-cpu-note.c
@@ -69,7 +69,7 @@
 
 // RUN: not %clang_cc1 -triple hexagon--- -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix HEXAGON
 // HEXAGON: error: unknown target CPU 'not-a-cpu'
-// HEXAGON-NEXT: note: valid target CPU values are: hexagonv5, hexagonv55, hexagonv60, hexagonv62, hexagonv65, hexagonv66, hexagonv67, hexagonv67t, hexagonv68, hexagonv69{{$}}
+// HEXAGON-NEXT: note: valid target CPU values are: hexagonv5, hexagonv55, hexagonv60, hexagonv62, hexagonv65, hexagonv66, hexagonv67, hexagonv67t, hexagonv68, hexagonv69, hexagonv71, hexagonv71t, hexagonv73{{$}}
 
 // RUN: not %clang_cc1 -triple bpf--- -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix BPF
 // BPF: error: unknown target CPU 'not-a-cpu'

diff  --git a/clang/test/Preprocessor/hexagon-predefines.c b/clang/test/Preprocessor/hexagon-predefines.c
index 576dc4b6cb381..bd55753a090de 100644
--- a/clang/test/Preprocessor/hexagon-predefines.c
+++ b/clang/test/Preprocessor/hexagon-predefines.c
@@ -117,6 +117,26 @@
 // CHECK-V69HVX-128B: #define __HVX__ 1
 // CHECK-V69HVX-128B: #define __hexagon__ 1
 
+// RUN: %clang_cc1 -E -dM -triple hexagon-unknown-elf -target-cpu hexagonv71 \
+// RUN: -target-feature +hvxv71 -target-feature +hvx-length128b %s | FileCheck \
+// RUN: %s -check-prefix CHECK-V71HVX-128B
+// CHECK-V71HVX-128B: #define __HEXAGON_ARCH__ 71
+// CHECK-V71HVX-128B: #define __HEXAGON_V71__ 1
+// CHECK-V71HVX-128B: #define __HVX_ARCH__ 71
+// CHECK-V71HVX-128B: #define __HVX_LENGTH__ 128
+// CHECK-V71HVX-128B: #define __HVX__ 1
+// CHECK-V71HVX-128B: #define __hexagon__ 1
+
+// RUN: %clang_cc1 -E -dM -triple hexagon-unknown-elf -target-cpu hexagonv73 \
+// RUN: -target-feature +hvxv73 -target-feature +hvx-length128b %s | FileCheck \
+// RUN: %s -check-prefix CHECK-V73HVX-128B
+// CHECK-V73HVX-128B: #define __HEXAGON_ARCH__ 73
+// CHECK-V73HVX-128B: #define __HEXAGON_V73__ 1
+// CHECK-V73HVX-128B: #define __HVX_ARCH__ 73
+// CHECK-V73HVX-128B: #define __HVX_LENGTH__ 128
+// CHECK-V73HVX-128B: #define __HVX__ 1
+// CHECK-V73HVX-128B: #define __hexagon__ 1
+
 
 // RUN: %clang_cc1 -E -dM -triple hexagon-unknown-elf -target-cpu hexagonv67 \
 // RUN: -target-feature +hvxv67 -target-feature +hvx-length128b %s | FileCheck \


        


More information about the cfe-commits mailing list