[Hexagon] Higher versions of HVX imply presence of lower versions
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>
Mon, 18 Dec 2017 18:51:57 +0000 (18:51 +0000)
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>
Mon, 18 Dec 2017 18:51:57 +0000 (18:51 +0000)
The code in Hexagon_MC::completeHVXFeatures wasn't setting all HVX-
related features correctly.

llvm-svn: 321008

llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp

index c6f67d64b22bfc7010126f1f0091a6b7d8f7b246..3fbe2197f9376d48aef36183f501a640d4dbfdca 100644 (file)
@@ -363,14 +363,14 @@ FeatureBitset Hexagon_MC::completeHVXFeatures(const FeatureBitset &S) {
 
   // HasHvxVer is false, and UseHvx is true.
   switch (CpuArch) {
-    case ArchV60:
-      FB.set(ExtensionHVXV60);
-      break;
-    case ArchV62:
-      FB.set(ExtensionHVXV62);
-      break;
     case ArchV65:
       FB.set(ExtensionHVXV65);
+      LLVM_FALLTHROUGH;
+    case ArchV62:
+      FB.set(ExtensionHVXV62);
+      LLVM_FALLTHROUGH;
+    case ArchV60:
+      FB.set(ExtensionHVXV60);
       break;
   }
   return FB;