They have different purposes. X86S is about simplifying the ISA by removing some legacy cruft that's no longer used. APX is about patching the ISA to have some of the features and characteristics of ARM and RISC-V (plus a few other goodies). The former enables hardware implementations to be simplified, whereas the latter enables compilers to generate more efficient code.Also can't forget "X86S"aka the adoption of FREDwhich I think would effectively be the biggest x86 cleanup to date.
https://www.intel.com/content/www/u...visioning-future-simplified-architecture.html
The nice thing about APX is that you can have the same ABI and just dispatch down different codepaths, based on whether a CPU has it. The downside is that it doesn't go as far towards a total cleanup of the ISA as you could do with a clean sheet design.
Regarding FRED, I think you're off the mark. It has nothing to do with X86S, as far as I'm aware. I believe it's about optimizing userspace/kernel transitions, which should improve syscall performance.