[PATCH] D69510: [ARM] MVE reverse shuffles.
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 30 11:50:40 PDT 2019
dmgreen marked 2 inline comments as done.
dmgreen added inline comments.
================
Comment at: llvm/lib/Target/ARM/ARMISelLowering.cpp:7659
+ EVT VT = Op.getValueType();
+ SDValue OpLHS = DAG.getNode(ARMISD::VREV64, DL, VT, Op.getOperand(0));
----------------
samparker wrote:
> I think keeping some kind of assert is a good idea here.
Yeah, OK. Probably best. I had this going with v4i32 too, which is where this was lost. But until double moves are selected better, that doesn't improve things.
================
Comment at: llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp:642
+ {ISD::VECTOR_SHUFFLE, MVT::v4f32, 5},
+ {ISD::VECTOR_SHUFFLE, MVT::v8i16, 5},
+ {ISD::VECTOR_SHUFFLE, MVT::v8f16, 5},
----------------
samparker wrote:
> should we be considering v4i16 and v8i8 too?
Those 2 will be type legalised to a v4i32 and v8i16, and the final cost will use the legal type (multiplied by the type legalisation cost, which looks like it will be 1 from the tests).
Because we don't use vmovd's yet, I guess the cost of a v4i32 should be 4, not 5. I'll update that, but they will hopefully drop down to 3 in the future, like the rest.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D69510/new/
https://reviews.llvm.org/D69510
More information about the llvm-commits
mailing list