[LLVMdev] X86AsmPrinter + MASM and NASM backends

Aaron Gray angray at beeb.net
Tue Jul 12 15:06:39 PDT 2005


>> The GAS intel code generator generates percents, look at the 
>> X86InstrInfo.td file it is full of them.
>
> Ah, I see what you're talking about.  Please feel free to remove all of 
> those from the Intel format.  For example, change this:
>
> def IN8rr  : I<0xEC, RawFrm, (ops),
>                "in{b} {%dx, %al|%AL, %DX}">,  Imp<[DX], [AL]>;
>
> to:
>
> def IN8rr  : I<0xEC, RawFrm, (ops),
>                "in{b} {%dx, %al|AL, DX}">,  Imp<[DX], [AL]>;
>
> For register allocatable values, changing printOp in the 
> X86IntelAsmPrinter should do the job.

Yes GNU AS works either with or without % symbols for its register names. So 
presumably we remove the percents from the intel generator and then have the 
X86MASMPrinter inherit from the X86IntelAsmPrinter as was originally 
intended.

> Also, when you do things like this, please send patches.  Also, patches 
> should generally be sent to the llvmbugs list (which is designed for bugs 
> and patches), not llvmdev.  In response to your recent 'MASM Backend' 
> mail, please update it per the feedback I gave for the 'isWindows' flag 
> email, and resent to llvmbugs.

I will make these changes and create some patches.

Aaron




More information about the llvm-dev mailing list