This patch forms part of the ARMv8-M Baseline/Mainline support, adding the LLVM targeting and subtarget features.
ARMv8-M Mainline is a superset of ARMv7-M, containing all ARMv7-M instructions plus ARMv8-A semaphores and atomics and the ARMv8-M security extensions.
ARMv8-M Baseline is a superset of ARMv6-M, containing all ARMv6-M instructions plus ARMv8-A semaphores and atomics, ARMv7-M exclusives, various code optimization instructions (wide branches, CBZ, hardware divide), MOVW/MOVT and the ARMv8-M security extensions.
Since we're planning on these to be exposed via Clang, I think we should test that the instruction categories we want really are accepted (by llvm-mc say).
No need to go overboard, but a line or two from the obvious sets would be good.