<div dir="ltr">Is there a way to define a register class that is storage-only?  I want to have an i8 register class that I can use for loads/stores/converts, but that does not support arithmetic.<div><br></div><div>It seems addOperationAction(ISD::ADD, MVT::i8, Promote) and SetPromotedToType(ISD::ADD, MVT::i8, MVT::i16) are not sufficient, as the legalizer just looks at whether or not the underlying type is legal (which it is).  So come instruction selection time I still have i8 adds.  Do I need to custom handle all 8-bit arithmetic, or is there some way to have the legalizer do the promotion like it would for an illegal type?<br>
<div><br clear="all"><div><br></div>-- <br><br><div>Thanks,</div><div><br></div><div>Justin Holewinski</div>
</div></div></div>