(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))
#endif /* ndef __VEX_HOST_S390_DEFS_H */
{ "etf2" },
{ "etf3" },
{ "stckf" },
+ { "fpext" },
};
static HChar buf[sizeof facilities + sizeof prefix + 1];
static HChar *p;
p = p + vex_sprintf(p, "-%s", facilities[7]);
if (hwcaps & VEX_HWCAPS_S390X_STCKF)
p = p + vex_sprintf(p, "-%s", facilities[8]);
+ if (hwcaps & VEX_HWCAPS_S390X_FPEXT)
+ p = p + vex_sprintf(p, "-%s", facilities[9]);
/* If there are no facilities, add "zarch" */
if (hwcaps == 0)
#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 */
/* Special value representing all available s390x hwcaps */
#define VEX_HWCAPS_S390X_ALL (VEX_HWCAPS_S390X_LDISP | \
VEX_HWCAPS_S390X_FGX | \
VEX_HWCAPS_S390X_STFLE | \
VEX_HWCAPS_S390X_STCKF | \
+ VEX_HWCAPS_S390X_FPEXT | \
VEX_HWCAPS_S390X_ETF3 | \
VEX_HWCAPS_S390X_ETF2)