[LLVMdev] type legalization/operation action

kewuzhang kewu.zhang at amd.com
Thu Feb 5 13:56:25 PST 2015


Dear there, 

I have a target which is supporting the  32 bit operations natively. Right now,I want to make it support the 16 bits operations as well.
My initial thought is:
(1) 
I can adding something like “ CCIfType< [i16], CCPromoteToType<i32>>”, to the CallingConv.td, then “all” the 16 bits operands will be automatically promoted to 32 bits, it will be all set.
but looks it is not the case.

(2) 
Then I tried adding something like “ setOperationAction(ISD::ADD,  MVT::i16, Promote)” to the IselLowering,  it still failed to  select the (i16 + i16)..

wondering which part I missed?

best

Kevin



More information about the llvm-dev mailing list