[PATCH] D77590: [ARM] MVE saturating truncates
Sjoerd Meijer via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 8 05:55:51 PDT 2020
SjoerdMeijer 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
----------------
dmgreen wrote:
> 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.
Ah, yep, sorry, got it.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D77590/new/
https://reviews.llvm.org/D77590
More information about the llvm-commits
mailing list