As far as "normal" instructions go, only a few are present in the 586
but not in the earlier processors: the 486 doesn't have CMPXCHG8B, and
386 is additionally missing BSWAP, CMPXCHG, and XADD.
Previously, llvm would emit these instructions even if you asked to
target a 386.
XADD and CMPXCHG are used only for atomics; we now ask AtomicExpandPass
to deal with expanding to libcalls on these CPUs, so it's trivial to
avoid emitting those.
BSWAP, then, is all that remains to be dealt with. It gets a custom
expansion, because the 3 ROR instructions is better than the default
expansion for bswap (which can't take advantage of the partial register
updating on x86.)
Depends on D18201
Should these features be on the remaining models? It'd probably be time to do ProcessorFeatures lists like SNB.