Request for reviews (S): 6910484: incorrect integer optimization (loosing and op-r in a given example)
Tom Rodriguez
Thomas.Rodriguez at Sun.COM
Fri Jan 8 09:30:08 PST 2010
I get it now. Looks good.
tom
On Jan 7, 2010, at 7:10 PM, Vladimir Kozlov wrote:
> On 1/7/10 7:00 PM, Tom Rodriguez wrote:
>> Why does the new test only guard the dividend->in(i) line and not the needs_rounding line? Shouldn't it guard both?
>
> Previous outer check has it: (-andconi) >= d
>
> Rounding is not needed if mask cleans up more or equal number of bits then shift.
>
> Vladimir
>
>>
>> tom
>>
>> On Jan 7, 2010, at 5:48 PM, Vladimir Kozlov wrote:
>>
>>>
>>> http://cr.openjdk.java.net/~kvn/6910484/webrev
>>>
>>> Fixed 6910484: incorrect integer optimization (loosing and op-r in a given example)
>>>
>>> Problem:
>>> After 6667595 changes Div node ideal optimization incorrectly
>>> removes AND operation if mask is larger then shift:
>>>
>>> (x& -32)/2 incorrectly transformed to x/2
>>>
>>> Solution:
>>> Remove AND operation only if mask is equal to shift.
>>> Add regression test.
>>>
>>> Reviewed by:
>>>
>>> Fix verified (y/n): y, test
>>>
>>> Other testing:
>>> JPRT
>>>
>>
More information about the hotspot-compiler-dev
mailing list