[PATCH] D21372: [ARM] Lower (select_cc k k (select_cc ~k ~k x)) into (SSAT l_k x)

Renato Golin via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 22 08:54:28 PDT 2016


rengolin added inline comments.

================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:3837
@@ +3836,3 @@
+  uint64_t Val2 = cast<ConstantSDNode>(*K2)->getSExtValue();
+  uint64_t PosVal = Val1 < Val2 ? Val1 : Val2;
+
----------------
pbarrio wrote:
> pbarrio wrote:
> > rengolin wrote:
> > > Wait, this looks backwards...
> > > 
> > > Shouldn't the positive value be something like:
> > > 
> > >     std::max(Val1, Val2);
> > > 
> > > but you seem to be getting the lowest of both sign extended values.
> > I'm comparing two unsigned integers, so effectively the "negative" numbers are bigger than the positive ones because the most significant bit is always 1.
> > 
> > I'm doing this because getSExtValue() returns a uint64_t. I could cast Val1 and Val2 to signed and therefore do a signed integer compare. Let me know if you prefer that.
> I will shut up. getSExtValue returns an int64_t so there is no reason to do this the convoluted way. I will change it in the next version.
:D


http://reviews.llvm.org/D21372





More information about the llvm-commits mailing list