Displaying 1 result from an estimated 1 matches for "op0vt".
2015 Sep 30
2
InstCombine wrongful (?) optimization on BinOp with SameOperands
...ackend's architecture truncate is free, but zext is not (and i64
is not a desirable type for xor or any binary operation in general), so
I would expect this optimization to be bypassed but because of the
following statement :
(N0.getOpcode() == ISD::TRUNCATE && (!TLI.isZExtFree(VT, Op0VT) ||
!TLI.isTruncateFree(Op0VT, VT))
it is not (as isZExtFree return false for my architecture while
isTruncateFree returns true). The comment on binop simplification says
that binop over truncs should be optimize only if trunc is not free, so
I do not understand the point of adding !isZExtFree...