The mythical MMIX hardware engineers have wisely understood the need to automatically disable speculation when a speculated execution path transitions to kernel mode. There might be mythical talk about using a bit in a configuration register to enable even that, but that's just speculation and some say allowing speculation over such mode transitions would be unresponsible and bad engineering.
gcc: PR target/86794 * config/mmix/mmix.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Redefine to speculation_safe_value_not_needed. Index: gcc/config/mmix/mmix.c =================================================================== --- gcc/config/mmix/mmix.c (revision 264163) +++ gcc/config/mmix/mmix.c (working copy) @@ -227,6 +224,9 @@ #undef TARGET_CONDITIONAL_REGISTER_USAGE #define TARGET_CONDITIONAL_REGISTER_USAGE mmix_conditional_register_usage +#undef TARGET_HAVE_SPECULATION_SAFE_VALUE +#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed + #undef TARGET_RTX_COSTS #define TARGET_RTX_COSTS mmix_rtx_costs #undef TARGET_ADDRESS_COST brgds, H-P