[PATCH] D77590: [ARM] MVE saturating truncates
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 8 05:23:25 PDT 2020
dmgreen added inline comments.
================
Comment at: llvm/lib/Target/ARM/ARMISelLowering.cpp:14796
+
+ // Create a VQMOVNB, Signed extended in to the top half. That extend will
+ // hopefully be removed if only the bottom bits are demanded (though a
----------------
SjoerdMeijer wrote:
> sorry, just double checking again, should this be:
>
> Signed extended in to the bottom half.
We are producing a:
v8i16 %X = VQMOVNB v8i16 undef, v4i32 %in
v4i32 %Y = bitcast %X to v4i32
v4i32 %res = SIGN_EXTEND_INREG %Y, v4i16
So the VQMOVNB will set the "bottom" lanes (of the v8i16), but leave the top lanes undef. The SIGN_EXTEND_INREG will extend the bottom half into the top half of the v4i32, maing sure it's the same value as before with the min/max pair. Hopefully the SIGN_EXTEND_INREG will be demand-bitted away in a lot of cases, leaving the VQMOVNB.
I've tried to write that into the comment.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D77590/new/
https://reviews.llvm.org/D77590
More information about the llvm-commits
mailing list