[PATCH] D77590: [ARM] MVE saturating truncates
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 8 04:17:33 PDT 2020
dmgreen marked 4 inline comments as done.
dmgreen added a comment.
Thanks for taking a look.
In D77590#1967680 <https://reviews.llvm.org/D77590#1967680>, @SjoerdMeijer wrote:
> About the tests: if I haven't missed anything, I don't see any VQMOVNT variants being generated?
Not with this one. I'll put up a review that transforms VMOVNT(VQMOVNB) -> VQMOVNT, once I have the tests.
================
Comment at: llvm/lib/Target/ARM/ARMISelLowering.cpp:14796
+
+ // Create a VQMONVB, Signed extended in to the top half. That extend will
+ // hopefully be removed if only the bottom bits are demanded (though a
----------------
SjoerdMeijer wrote:
> Typo? `VQMONVB` -> `VQMOVB`?
>
> Also: top half -> bottom half?
Yep. Will fix.
The "Signed extended in to the top half" means we signed extend the result of the VQMOVNB into the top half of the registers with the SIGN_EXTEND_INREG. i.e. we create a "bottom", but need to do something with the top half too.
================
Comment at: llvm/lib/Target/ARM/ARMISelLowering.h:205
+ // MVE Saturating truncates
+ VQMOVNs,
----------------
SjoerdMeijer wrote:
> nit: perhaps a comment explaining more what the opcode is:
>
> // Vector (V) Saturating (Q) Move and Narrow (N), signed/unsigned (s/u)
Like it.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D77590/new/
https://reviews.llvm.org/D77590
More information about the llvm-commits
mailing list