[LLVMdev] problems with single byte stores in the arm backend
    Robert Muth 
    robertm at google.com
       
    Wed Jul 13 09:09:03 PDT 2011
    
    
  
I have been struggling with this for way too long now, so hopefully the
mighty list can help:
I am trying to generate a byte store  instruction storing the constant value
4 at some given address
in a new helper function inside ARMISelLowering.cpp
I tried:
  SDValue Val = DAG.getConstant(4, MVT::i8);
  SDValue Store = DAG.getStore(chain,
                                 dl,
                                 Val,
                                 Addr,
                                 MachinePointerInfo(),
                                 false, false, 0);
This gives me a a legalizer assert for MVT::i8.
If I change it to MVT::i32 the code works but instead of
a single byte store (STRB) I get a word store (STR).
How can I force the width of the store?
Thanks,
Robert
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110713/43b358a6/attachment.html>
    
    
More information about the llvm-dev
mailing list