]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Add infrastructure for detection of 32-bit ARMv8 capable CPUs (VEX side).
authorJulian Seward <jseward@acm.org>
Wed, 3 Aug 2016 11:41:24 +0000 (11:41 +0000)
committerJulian Seward <jseward@acm.org>
Wed, 3 Aug 2016 11:41:24 +0000 (11:41 +0000)
git-svn-id: svn://svn.valgrind.org/vex/trunk@3234

VEX/priv/main_main.c

index 4c278d84e2f95ac5c15d5d5e1267d2ef38fb9584..8fd2503bb0031f974726abedc8b4dce0cfceab72 100644 (file)
@@ -1933,8 +1933,8 @@ static void check_hwcaps ( VexArch arch, UInt hwcaps )
 
       case VexArchARM: {
          Bool NEON  = ((hwcaps & VEX_HWCAPS_ARM_NEON) != 0);
+         Bool VFP3  = ((hwcaps & VEX_HWCAPS_ARM_VFP3) != 0);
          UInt level = VEX_ARM_ARCHLEVEL(hwcaps);
-
          switch (level) {
             case 5:
                if (NEON)
@@ -1948,6 +1948,11 @@ static void check_hwcaps ( VexArch arch, UInt hwcaps )
                return;
             case 7:
                return;
+            case 8:
+               if (!NEON || !VFP3)
+                  invalid_hwcaps(arch, hwcaps,
+                          "NEON and VFP3 are required for ARMv8.\n");
+               return;
             default:
                invalid_hwcaps(arch, hwcaps,
                               "ARM architecture level is not supported.\n");