Request for reviews .03 (L): 6814842: Load shortening optimizations

Vladimir Kozlov Vladimir.Kozlov at Sun.COM
Tue May 12 11:27:45 PDT 2009


Tom Rodriguez wrote:
> indOffset13m7 uses immX13m7 so it effectively contains this predicate.  
> Why would it need it again?

I misspoke, I meant immX13m7.
What I am saying the used predicate is wrong:

it should be (for int and long)

   -4096 <= n->get_int()

instead of

   -4096 <= (n->get_int() + 7)

Vladimir

> 
> tom
> 
> On May 12, 2009, at 10:38 AM, Vladimir Kozlov wrote:
> 
>> It could be solved by using next restriction on indOffset13m7:
>>
>>   predicate((-4096L <= (n->get_long())) && ((n->get_long() + 7L) <= 
>> 4095L));
>>
>> Vladimir
>>
>> Vladimir Kozlov wrote:
>>> Christian,
>>> in immL13m7() it should be <=
>>> (-4096L <= (n->get_long() + 7L))
>>>         ^
>>> Can you explain how indOffset13m7 memory reference is generated
>>> when offset does not fit into 13 bits? I did not find the explanation
>>> in this thread.
>>> For example:
>>> +   format %{ "LDSB   $mem+1,$dst\t! short -> byte" %}
>>> +   ins_encode %{
>>> +     __ ldsb($mem$$Address, $dst$$Register, 1);
>>> +   %}
>>> Let mem.disp == -4100 (so that -4100+7 > -4096) and with ldsb(mem, 
>>> reg, 1)
>>> you will get mem.disp == -4099 which does not fit into 13 bits.
>>> Thanks,
>>> Vladimir
>>> Tom Rodriguez wrote:
>>>> looks good.
>>>>
>>>> tom
>>>>
>>>> On May 12, 2009, at 3:02 AM, Christian Thalinger wrote:
>>>>
>>>>> On Mon, 2009-05-11 at 13:38 -0700, Tom Rodriguez wrote:
>>>>>> I don't think the assert in formssel.cpp is needed because it
>>>>>> replicates the logic in this test that guards enabling cisc spill.
>>>>>> I'd given that to you originally before I fully realized what was
>>>>>> going wrong.
>>>>>
>>>>> I removed the assert.
>>>>>
>>>>>>
>>>>>> 1127     if( def_oper == NameList::Not_in_list && instr->num_opnds()
>>>>>> == num_opnds()) {
>>>>>>
>>>>>> in sparc.ad you use simm13 instead of 13 bit in the comments since
>>>>>> that's the sparc terminology.
>>>>>
>>>>> I changed the ones I added, the others are just copied.
>>>>>
>>>>> http://cr.openjdk.java.net/~twisti/6814842/webrev.03/
>>>>>
>>>>> -- Christian
>>>>>
>>>>
> 



More information about the hotspot-compiler-dev mailing list