[llvm-commits] [llvm] r86303 - in /llvm/trunk: lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp test/CodeGen/ARM/2009-11-07-SubRegAsmPrinting.ll

Jakob Stoklund Olesen stoklund at 2pi.dk
Fri Nov 6 16:30:54 PST 2009


On Nov 6, 2009, at 3:45 PM, Anton Korobeynikov wrote:

> Author: asl
> Date: Fri Nov  6 17:45:15 2009
> New Revision: 86303
>
> URL: http://llvm.org/viewvc/llvm-project?rev=86303&view=rev
> Log:
> Honour subreg machine operands during asmprinting
>
> Added:
>    llvm/trunk/test/CodeGen/ARM/2009-11-07-SubRegAsmPrinting.ll
> Modified:
>    llvm/trunk/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
>
> Modified: llvm/trunk/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp?rev=86303&r1=86302&r2=86303&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp (original)
> +++ llvm/trunk/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp Fri Nov   
> 6 17:45:15 2009
> @@ -347,6 +347,9 @@
>                                                 
> &ARM::DPR_VFP2RegClass);
>       O << getRegisterName(DReg) << '[' << (RegNum & 1) << ']';
>     } else {
> +      if (unsigned SubReg = MO.getSubReg())
> +        Reg = TRI->getSubReg(Reg, SubReg);
> +
>       O << getRegisterName(Reg);
>     }
>     break;

I thought that the SubReg field was only to be used with virtual  
registers?

Is this perhaps a bug in an earlier stage?

/jakob




More information about the llvm-commits mailing list