SKIP_IF_MSG
SKIP_IF_MSG(!have_hwcap(PPC_FEATURE_HAS_ALTIVEC), "ALTIVEC not supported");
SKIP_IF_MSG(!dexcr_exists(), "DEXCR not supported");
SKIP_IF_MSG(!pr_dexcr_aspect_supported(which), "DEXCR aspect not supported");
SKIP_IF_MSG(!pr_dexcr_aspect_editable(which), "DEXCR aspect not editable with prctl");
SKIP_IF_MSG(!dexcr_exists(), "DEXCR not supported");
SKIP_IF_MSG(!(get_dexcr(EFFECTIVE) & DEXCR_PR_NPHIE),
SKIP_IF_MSG(!have_hwcap2(PPC_FEATURE2_ARCH_3_1), "Need ISAv3.1");
SKIP_IF_MSG(!have_hwcap2(PPC_FEATURE2_MMA), "Need MMA");
SKIP_IF_MSG(devfd < 0 && errno == ENOENT,
SKIP_IF_MSG(errno == EOPNOTSUPP, "operation not supported");
SKIP_IF_MSG(devfd < 0 && errno == ENOENT,
SKIP_IF_MSG(errno == EOPNOTSUPP, "operation not supported");
SKIP_IF_MSG(devfd < 0 && errno == ENOENT,
SKIP_IF_MSG(devfd < 0 && errno == ENOENT,
SKIP_IF_MSG(devfd < 0 && errno == ENOENT,
SKIP_IF_MSG(devfd < 0 && errno == ENOENT,
SKIP_IF_MSG(devfd < 0 && errno == ENOENT,
SKIP_IF_MSG(devfd < 0 && errno == ENOENT,
SKIP_IF_MSG(devfd < 0 && errno == ENOENT,
SKIP_IF_MSG(devfd < 0 && errno == ENOENT,
SKIP_IF_MSG(devfd < 0 && errno == ENOENT,
SKIP_IF_MSG(devfd < 0 && errno == ENOENT,
SKIP_IF_MSG(get_system_loc_code(&lc),
SKIP_IF_MSG(devfd < 0 && errno == ENOENT,
SKIP_IF_MSG(devfd < 0 && errno == ENOENT,
SKIP_IF_MSG(1, msg); \
SKIP_IF_MSG(err == -EPERM, "Try with root privileges");
SKIP_IF_MSG(!perf_breakpoint_supported(), "Perf breakpoints not supported");
SKIP_IF_MSG(dbginfo.num_data_bps == 0, "No data breakpoints present");
SKIP_IF_MSG(dbginfo.num_data_bps <= 1, "Not enough data watchpoints (need at least 2)");
SKIP_IF_MSG(!have_hwcap2(PPC_FEATURE2_ARCH_2_07), "TAR requires ISA 2.07 compatible hardware");
SKIP_IF_MSG(!have_htm(), "Don't have transactional memory");
SKIP_IF_MSG(htm_is_synthetic(), "Transactional memory is synthetic");
SKIP_IF_MSG(!have_htm(), "Don't have transactional memory");
SKIP_IF_MSG(htm_is_synthetic(), "Transactional memory is synthetic");
SKIP_IF_MSG(!have_htm(), "Don't have transactional memory");
SKIP_IF_MSG(htm_is_synthetic(), "Transactional memory is synthetic");
SKIP_IF_MSG(!have_htm(), "Don't have transactional memory");
SKIP_IF_MSG(htm_is_synthetic(), "Transactional memory is synthetic");
SKIP_IF_MSG(!have_htm(), "Don't have transactional memory");
SKIP_IF_MSG(htm_is_synthetic(), "Transactional memory is synthetic");
SKIP_IF_MSG(!have_htm(), "Don't have transactional memory");
SKIP_IF_MSG(htm_is_synthetic(), "Transactional memory is synthetic");
SKIP_IF_MSG(!have_htm(), "Don't have transactional memory");
SKIP_IF_MSG(htm_is_synthetic(), "Transactional memory is synthetic");
SKIP_IF_MSG(!have_hwcap(PPC_FEATURE_HAS_VSX), "Don't have VSX");