do { \
        unsigned long hwcaps = getauxval(AT_HWCAP); \
        /* data key instructions are not in NOP space. This prevents a SIGILL */ \
-       ASSERT_NE(0, hwcaps & HWCAP_PACA) TH_LOG("PAUTH not enabled"); \
+       if (!(hwcaps & HWCAP_PACA))                                     \
+               SKIP(return, "PAUTH not enabled"); \
 } while (0)
 #define ASSERT_GENERIC_PAUTH_ENABLED() \
 do { \
        unsigned long hwcaps = getauxval(AT_HWCAP); \
        /* generic key instructions are not in NOP space. This prevents a SIGILL */ \
-       ASSERT_NE(0, hwcaps & HWCAP_PACG) TH_LOG("Generic PAUTH not enabled"); \
+       if (!(hwcaps & HWCAP_PACG)) \
+               SKIP(return, "Generic PAUTH not enabled");      \
 } while (0)
 
 void sign_specific(struct signatures *sign, size_t val)
        unsigned long hwcaps = getauxval(AT_HWCAP);
 
        /* generic and data key instructions are not in NOP space. This prevents a SIGILL */
-       ASSERT_NE(0, hwcaps & HWCAP_PACA) TH_LOG("PAUTH not enabled");
+       ASSERT_PAUTH_ENABLED();
        if (!(hwcaps & HWCAP_PACG)) {
                TH_LOG("WARNING: Generic PAUTH not enabled. Skipping generic key checks");
                nkeys = NKEYS - 1;
        unsigned long hwcaps = getauxval(AT_HWCAP);
 
        /* generic and data key instructions are not in NOP space. This prevents a SIGILL */
-       ASSERT_NE(0, hwcaps & HWCAP_PACA) TH_LOG("PAUTH not enabled");
+       ASSERT_PAUTH_ENABLED();
        if (!(hwcaps & HWCAP_PACG)) {
                TH_LOG("WARNING: Generic PAUTH not enabled. Skipping generic key checks");
                nkeys = NKEYS - 1;