[llvm-commits] [llvm] r113985 - /llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp

Bob Wilson bob.wilson at apple.com
Wed Sep 15 14:24:27 PDT 2010


You missed VLDMQ.  Will you add that?

On Sep 15, 2010, at 10:27 AM, Jakob Stoklund Olesen wrote:

> Author: stoklund
> Date: Wed Sep 15 12:27:09 2010
> New Revision: 113985
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=113985&view=rev
> Log:
> Recognize VST1q64Pseudo and VSTMQ as stack slot stores.
> Recognize VLD1q64Pseudo as a stack slot load.
> 
> Reject these if they are loading or storing a subregister. The API (and
> VirtRegRewriter) doesn't know how to deal with that.
> 
> Modified:
>    llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
> 
> Modified: llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp?rev=113985&r1=113984&r2=113985&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp (original)
> +++ llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp Wed Sep 15 12:27:09 2010
> @@ -751,6 +751,21 @@
>       return MI->getOperand(0).getReg();
>     }
>     break;
> +  case ARM::VST1q64Pseudo:
> +    if (MI->getOperand(0).isFI() &&
> +        MI->getOperand(2).getSubReg() == 0) {
> +      FrameIndex = MI->getOperand(0).getIndex();
> +      return MI->getOperand(2).getReg();
> +    }
> +  case ARM::VSTMQ:
> +    if (MI->getOperand(1).isFI() &&
> +        MI->getOperand(2).isImm() &&
> +        MI->getOperand(2).getImm() == ARM_AM::getAM4ModeImm(ARM_AM::ia) &&
> +        MI->getOperand(0).getSubReg() == 0) {
> +      FrameIndex = MI->getOperand(1).getIndex();
> +      return MI->getOperand(0).getReg();
> +    }
> +    break;
>   }
> 
>   return 0;
> @@ -873,6 +888,13 @@
>       return MI->getOperand(0).getReg();
>     }
>     break;
> +  case ARM::VLD1q64Pseudo:
> +    if (MI->getOperand(1).isFI() &&
> +        MI->getOperand(0).getSubReg() == 0) {
> +      FrameIndex = MI->getOperand(1).getIndex();
> +      return MI->getOperand(0).getReg();
> +    }
> +    break;
>   }
> 
>   return 0;
> 
> 
> _______________________________________________
> 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