<div dir="ltr"><div style>Tidy up three places where the register class for ARM and Thumb wasn't restrictive enough:</div><div style> - No PC dest for reg-reg add/orr/sub.</div><div style> - No PC dest for shifts.</div>
<div style> - No PC or SP for Thumb2 reg-imm add.</div><div style><br></div><div style>I encountered this while combining FastISel with -verify-machineinstrs. These instructions defined registers whose classes weren't restrictive enough, and the uses failed verification. They're also undefined in the ISA, or would produce code that FastISel wouldn't want. This doesn't fix the register class narrowing issue (where uses should restrict definitions), and isn't thorough, but it's a small step in the right direction.</div>
</div>