RFR(S): 8213419: C2 may hang in MulLNode::Ideal()/MulINode::Ideal() with gcc 8.2.1
rwestrel at redhat.com
Wed Nov 7 12:22:30 UTC 2018
> Hi Roland. Can you explain what happens for INT_MIN now? It looks like
> uabs() will return a negative number and sign_flip will be set to false.
Thanks for looking at this.
sign_flip is needed to negate the result of the shift. Multiplying by
INT_MIN only has 2 results: INT_MIN (INT_MIN * 1, INT_MIN * -1) or 0
(INT_MIN multiplied by any other value). So negation is useless because
-INT_MIN = INT_MIN.
More information about the hotspot-compiler-dev