diff options
author | Bob Wilson <bob.wilson@apple.com> | 2010-09-09 05:40:26 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2010-09-09 05:40:26 +0000 |
commit | 4adbaf184340a71925eea83a2811c4763e281f38 (patch) | |
tree | dbaf1cb5bdbb5a6009381f387d1fd04e9dfed2f9 /llvm/lib | |
parent | b8176da3144eeee9177b00ac68598254dc6413a7 (diff) | |
download | bcm5719-llvm-4adbaf184340a71925eea83a2811c4763e281f38.tar.gz bcm5719-llvm-4adbaf184340a71925eea83a2811c4763e281f38.zip |
Fix NEON VLD pseudo instruction itineraries that were incorrectly copied from
the VST pseudos. The VLD/VST scheduling still needs work (see pr6722), but
at least we shouldn't confuse the loads with the stores.
llvm-svn: 113473
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/ARM/ARMInstrNEON.td | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrNEON.td b/llvm/lib/Target/ARM/ARMInstrNEON.td index 4d2f1169061..d22839c23aa 100644 --- a/llvm/lib/Target/ARM/ARMInstrNEON.td +++ b/llvm/lib/Target/ARM/ARMInstrNEON.td @@ -170,20 +170,20 @@ let mayLoad = 1, neverHasSideEffects = 1, hasExtraDefRegAllocReq = 1 in { // Classes for VLD* pseudo-instructions with multi-register operands. // These are expanded to real instructions after register allocation. class VLDQPseudo - : PseudoNLdSt<(outs QPR:$dst), (ins addrmode6:$addr), IIC_VST, "">; + : PseudoNLdSt<(outs QPR:$dst), (ins addrmode6:$addr), IIC_VLD2, "">; class VLDQWBPseudo : PseudoNLdSt<(outs QPR:$dst, GPR:$wb), - (ins addrmode6:$addr, am6offset:$offset), IIC_VST, + (ins addrmode6:$addr, am6offset:$offset), IIC_VLD2, "$addr.addr = $wb">; class VLDQQPseudo - : PseudoNLdSt<(outs QQPR:$dst), (ins addrmode6:$addr), IIC_VST, "">; + : PseudoNLdSt<(outs QQPR:$dst), (ins addrmode6:$addr), IIC_VLD4, "">; class VLDQQWBPseudo : PseudoNLdSt<(outs QQPR:$dst, GPR:$wb), - (ins addrmode6:$addr, am6offset:$offset), IIC_VST, + (ins addrmode6:$addr, am6offset:$offset), IIC_VLD4, "$addr.addr = $wb">; class VLDQQQQWBPseudo : PseudoNLdSt<(outs QQQQPR:$dst, GPR:$wb), - (ins addrmode6:$addr, am6offset:$offset, QQQQPR:$src), IIC_VST, + (ins addrmode6:$addr, am6offset:$offset, QQQQPR:$src), IIC_VLD4, "$addr.addr = $wb, $src = $dst">; // VLD1 : Vector Load (multiple single elements) |