Remove EmFail_S390X_ecag, s390_host_has_stckf, and VEX_HWCAPS_S390X_STCKF.
Update none/tests/s390x/stckf.vgtest and tests/s390x_features.c
Part of fixing https://bugs.kde.org/show_bug.cgi?id=509562
static const HChar *
s390_irgen_STCKF(IRTemp op2addr)
{
- if (! s390_host_has_stckf) {
- emulation_failure(EmFail_S390X_stckf);
- } else {
- IRTemp cc = newTemp(Ity_I64);
+ IRTemp cc = newTemp(Ity_I64);
- IRDirty *d = unsafeIRDirty_1_N(cc, 0, "s390x_dirtyhelper_STCKF",
- &s390x_dirtyhelper_STCKF,
- mkIRExprVec_1(mkexpr(op2addr)));
- d->mFx = Ifx_Write;
- d->mAddr = mkexpr(op2addr);
- d->mSize = 8;
- stmt(IRStmt_Dirty(d));
- s390_cc_set(cc);
- }
+ IRDirty *d = unsafeIRDirty_1_N(cc, 0, "s390x_dirtyhelper_STCKF",
+ &s390x_dirtyhelper_STCKF,
+ mkIRExprVec_1(mkexpr(op2addr)));
+ d->mFx = Ifx_Write;
+ d->mAddr = mkexpr(op2addr);
+ d->mSize = 8;
+ stmt(IRStmt_Dirty(d));
+ s390_cc_set(cc);
return "stckf";
}
(s390_host_hwcaps & (VEX_HWCAPS_S390X_STFLE))
#define s390_host_has_etf3 \
(s390_host_hwcaps & (VEX_HWCAPS_S390X_ETF3))
-#define s390_host_has_stckf \
- (s390_host_hwcaps & (VEX_HWCAPS_S390X_STCKF))
#define s390_host_has_fpext \
(s390_host_hwcaps & (VEX_HWCAPS_S390X_FPEXT))
#define s390_host_has_lsc \
" IEEE-invalid-operation exceptions will not be suppressed.";
case EmFail_S390X_stfle:
return "Instruction stfle is not supported on this host";
- case EmFail_S390X_stckf:
- return "Instruction stckf is not supported on this host";
case EmFail_S390X_pfpo:
return "Instruction pfpo is not supported on this host";
case EmFail_S390X_DFP_insn:
{ VEX_HWCAPS_S390X_STFLE, "stfle" },
{ VEX_HWCAPS_S390X_ETF2, "etf2" },
{ VEX_HWCAPS_S390X_ETF3, "etf3" },
- { VEX_HWCAPS_S390X_STCKF, "stckf" },
{ VEX_HWCAPS_S390X_FPEXT, "fpext" },
{ VEX_HWCAPS_S390X_LSC, "lsc" },
{ VEX_HWCAPS_S390X_PFPO, "pfpo" },
#define VEX_HWCAPS_S390X_ETF2 (1<<11) /* ETF2-enhancement facility */
#define VEX_HWCAPS_S390X_STFLE (1<<12) /* STFLE facility */
#define VEX_HWCAPS_S390X_ETF3 (1<<13) /* ETF3-enhancement facility */
-#define VEX_HWCAPS_S390X_STCKF (1<<14) /* STCKF facility */
#define VEX_HWCAPS_S390X_FPEXT (1<<15) /* Floating point extension facility */
#define VEX_HWCAPS_S390X_LSC (1<<16) /* Conditional load/store facility */
#define VEX_HWCAPS_S390X_PFPO (1<<17) /* Perform floating point ops facility */
VEX_HWCAPS_S390X_DFP | \
VEX_HWCAPS_S390X_FGX | \
VEX_HWCAPS_S390X_STFLE | \
- VEX_HWCAPS_S390X_STCKF | \
VEX_HWCAPS_S390X_FPEXT | \
VEX_HWCAPS_S390X_LSC | \
VEX_HWCAPS_S390X_ETF3 | \
/* stfle insn is not supported on this host */
EmFail_S390X_stfle,
- /* stckf insn is not supported on this host */
- EmFail_S390X_stckf,
-
/* pfpo insn is not supported on this host */
EmFail_S390X_pfpo,
{ False, 24, VEX_HWCAPS_S390X_ETF2, "ETF2" },
{ False, 7, VEX_HWCAPS_S390X_STFLE, "STFLE" },
{ False, 30, VEX_HWCAPS_S390X_ETF3, "ETF3" },
- { False, 25, VEX_HWCAPS_S390X_STCKF, "STCKF" },
{ False, 37, VEX_HWCAPS_S390X_FPEXT, "FPEXT" },
{ False, 45, VEX_HWCAPS_S390X_LSC, "LSC" },
{ False, 44, VEX_HWCAPS_S390X_PFPO, "PFPO" },
prog:stckf
-prereq: ../../../tests/s390x_features s390x-stckf
match = (facilities[0] & FAC_BIT(18)) && (facilities[0] & FAC_BIT(19));
} else if (strcmp(feature, "s390x-eimm") == 0 ) {
match = facilities[0] & FAC_BIT(21);
- } else if (strcmp(feature, "s390x-stckf") == 0 ) {
- match = facilities[0] & FAC_BIT(25);
} else if (strcmp(feature, "s390x-genins") == 0 ) {
match = facilities[0] & FAC_BIT(34);
} else if (strcmp(feature, "s390x-exrl") == 0 ) {