Similar to VADDV and VADDLV that have been added recently, this adds lowering and patterns for VMLAV, VMLAVA, VMLALV and VMLALVA. They perform the same roles as the add's, just folding a mul into the same instruction (and so taking two inputs). As such, they need to be lowered in the same way as the types are often not legal.
Details
Details
Diff Detail
Diff Detail
Event Timeline
llvm/lib/Target/ARM/ARMInstrMVE.td | ||
---|---|---|
974 | why does this pattern use a tGPR but the rest are GPR? |
llvm/lib/Target/ARM/ARMInstrMVE.td | ||
---|---|---|
974 | Good eyes. I've changed them to tGPREven/tGPROdd, like the instruction definition. The 16/8 below is also wrong. Apparently my testing script wasn't really testing what it should have. |
llvm/lib/Target/ARM/ARMInstrMVE.td | ||
---|---|---|
974 | Yep. I folded the equivalent changes for the new and existing VADDV patterns into there and the previous commit. |
why does this pattern use a tGPR but the rest are GPR?