[LLVMdev] ADDE on HW that doesn't have flags?

Daniel M Gessel gessel at apple.com
Mon Oct 27 08:11:44 PDT 2008

The language I'm targeting doesn't have flags; I'd like to implement  
ADDE as a macro or psuedo-instruction that takes 3 parameters and  
returns 2.

In my InstrInfo.td file, tablegen complains if I try to define  
multiple return values; adde is defined in TargetSelectionDAG.td to be  
a binary op that takes an extra flag in and sends an extra flag out.

I tried to custom lower ADDE (by calling setOperationAction with  
ISD::ADDE) but it didn't seem to register and still bailed when trying  
to expand adde, instead of calling my LowerOperation.

I could figure out how to create a fake flags registers, but I'd  
rather not have to.

Any recommendations?



More information about the llvm-dev mailing list