[llvm-commits] [llvm] r89700 - in /llvm/trunk: lib/Target/ARM/ARMInstrVFP.td lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp test/CodeGen/ARM/2009-11-07-SubRegAsmPrinting.ll test/CodeGen/ARM/fpconsts.ll test/CodeGen/Thumb2/cross-rc-coalescing-2.ll

Evan Cheng evan.cheng at apple.com
Mon Nov 23 13:30:31 PST 2009


Thanks. But rather than converting to FP at asm printing time, could we just select it to a FP imm node?

Evan

On Nov 23, 2009, at 1:08 PM, Jim Grosbach wrote:

> 
> ==============================================================================
> --- llvm/trunk/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp (original)
> +++ llvm/trunk/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp Mon Nov 23 15:08:25 2009
> @@ -998,7 +998,7 @@
> 
> void ARMAsmPrinter::printVFPf32ImmOperand(const MachineInstr *MI, int OpNum) {
>   const ConstantFP *FP = MI->getOperand(OpNum).getFPImm();
> -  O << '#' << ARM::getVFPf32Imm(FP->getValueAPF());
> +  O << '#' << FP->getValueAPF().convertToFloat();
>   if (VerboseAsm) {
>     O.PadToColumn(MAI->getCommentColumn());
>     O << MAI->getCommentString() << ' ';
> @@ -1008,7 +1008,7 @@
> 
> void ARMAsmPrinter::printVFPf64ImmOperand(const MachineInstr *MI, int OpNum) {
>   const ConstantFP *FP = MI->getOperand(OpNum).getFPImm();
> -  O << '#' << ARM::getVFPf64Imm(FP->getValueAPF());
> +  O << '#' << FP->getValueAPF().convertToDouble();
>   if (VerboseAsm) {
>     O.PadToColumn(MAI->getCommentColumn());
>     O << MAI->getCommentString() << ' ';
> 
> Modified: llvm/trunk/test/CodeGen/ARM/2009-11-07-SubRegAsmPrinting.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/2009-11-07-SubRegAsmPrinting.ll?rev=89700&r1=89699&r2=89700&view=diff
> 
> ==============================================================================
> --- llvm/trunk/test/CodeGen/ARM/2009-11-07-SubRegAsmPrinting.ll (original)
> +++ llvm/trunk/test/CodeGen/ARM/2009-11-07-SubRegAsmPrinting.ll Mon Nov 23 15:08:25 2009
> @@ -13,7 +13,7 @@
>   %4 = fadd float 0.000000e+00, %3                ; <float> [#uses=1]
>   %5 = fsub float 1.000000e+00, %4                ; <float> [#uses=1]
> ; CHECK: foo:
> -; CHECK: fconsts s{{[0-9]+}}, #112
> +; CHECK: vmov.f32 s{{[0-9]+}}, #1.000000e+00
>   %6 = fsub float 1.000000e+00, undef             ; <float> [#uses=2]
>   %7 = fsub float %2, undef                       ; <float> [#uses=1]
>   %8 = fsub float 0.000000e+00, undef             ; <float> [#uses=3]
> 
> Modified: llvm/trunk/test/CodeGen/ARM/fpconsts.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/fpconsts.ll?rev=89700&r1=89699&r2=89700&view=diff
> 
> ==============================================================================
> --- llvm/trunk/test/CodeGen/ARM/fpconsts.ll (original)
> +++ llvm/trunk/test/CodeGen/ARM/fpconsts.ll Mon Nov 23 15:08:25 2009
> @@ -3,7 +3,7 @@
> define arm_apcscc float @t1(float %x) nounwind readnone optsize {
> entry:
> ; CHECK: t1:
> -; CHECK: fconsts s1, #16
> +; CHECK: vmov.f32 s1, #4.000000e+00
>   %0 = fadd float %x, 4.000000e+00
>   ret float %0
> }
> @@ -11,7 +11,7 @@
> define arm_apcscc double @t2(double %x) nounwind readnone optsize {
> entry:
> ; CHECK: t2:
> -; CHECK: fconstd d1, #8
> +; CHECK: vmov.f64 d1, #3.000000e+00
>   %0 = fadd double %x, 3.000000e+00
>   ret double %0
> }
> @@ -19,7 +19,7 @@
> define arm_apcscc double @t3(double %x) nounwind readnone optsize {
> entry:
> ; CHECK: t3:
> -; CHECK: fconstd d1, #170
> +; CHECK: vmov.f64 d1, #-1.300000e+01
>   %0 = fmul double %x, -1.300000e+01
>   ret double %0
> }
> @@ -27,7 +27,7 @@
> define arm_apcscc float @t4(float %x) nounwind readnone optsize {
> entry:
> ; CHECK: t4:
> -; CHECK: fconsts s1, #184
> +; CHECK: vmov.f32 s1, #-2.400000e+01
>   %0 = fmul float %x, -2.400000e+01
>   ret float %0
> }
> 
> Modified: llvm/trunk/test/CodeGen/Thumb2/cross-rc-coalescing-2.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Thumb2/cross-rc-coalescing-2.ll?rev=89700&r1=89699&r2=89700&view=diff
> 
> ==============================================================================
> --- llvm/trunk/test/CodeGen/Thumb2/cross-rc-coalescing-2.ll (original)
> +++ llvm/trunk/test/CodeGen/Thumb2/cross-rc-coalescing-2.ll Mon Nov 23 15:08:25 2009
> @@ -1,4 +1,4 @@
> -; RUN: llc < %s -mtriple=thumbv7-apple-darwin9 -mcpu=cortex-a8 | grep vmov.f32 | count 6
> +; RUN: llc < %s -mtriple=thumbv7-apple-darwin9 -mcpu=cortex-a8 | grep vmov.f32 | count 7
> 
> define arm_apcscc void @fht(float* nocapture %fz, i16 signext %n) nounwind {
> entry:
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits





More information about the llvm-commits mailing list