Request for reviews (S): 6910484: incorrect integer optimization (loosing and op-r in a given example)
Vladimir Kozlov
Vladimir.Kozlov at Sun.COM
Thu Jan 7 19:10:32 PST 2010
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