[llvm-commits] [LLVM, llc] PATCH for PR11691: llc assertion failure generating arm neon vst2 with pointer update

Stepan Dyatkovskiy STPWORLD at narod.ru
Mon Jan 9 03:58:02 PST 2012


Hi all. It seems that I found where the bug lives.

We want to expand VST2d16PseudoWB_fixed to VST2d8wb_fixed.
Look at first one:
%vreg1<def> = VST2d16PseudoWB_fixed %vreg1<kill>, 0, %noreg, %vreg3<undef>, pred:14, pred:%noreg; mem:ST16[%lsr.iv1](align=2) GPR:%vreg1 QPR:%vreg3

Op #4 is dummy here (%noreg). Looking at SelectVST method I can conclude that Op4 is added to keep format of all VST2XXXPseudoWB_XXXXX the same. What the Reg0 means here though? Looks like NULL register. If I get right it Op4 is write-back operand, but it is not used in "fixed" vst instructions.

So when we want to expand this instruction to VST2d8wb_fixed we should skip write-back place-holder.

Please find the attached patch.

-Stepan.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 11691.patch
Type: application/octet-stream
Size: 598 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120109/a6bc87ae/attachment.obj>


More information about the llvm-commits mailing list