Request for review (L): 6797305: Add LoadUB and LoadUI opcode class
Vladimir Kozlov
Vladimir.Kozlov at Sun.COM
Fri Mar 6 09:38:46 PST 2009
Is this
Is it possible that matcher is confused by the cost?
You changed the cost of ConvI2L:
instruct convI2L_reg( eRegL dst, eRegI src, eFlagsReg cr) %{
match(Set dst (ConvI2L src));
effect(KILL cr);
+ ins_cost(375);
and cost of "ConvI2L (LoadUB" is lower:
! instruct loadUB2L(eRegL dst, memory mem)
! %{
! match(Set dst (ConvI2L (LoadUB mem)));
!
! ins_cost(250);
Vladimir
Tom Rodriguez wrote:
> What does the failure output look like?
>
> tom
>
> On Mar 6, 2009, at 7:49 AM, Christian Thalinger wrote:
>
>> On Fri, 2009-03-06 at 12:15 +0100, Christian Thalinger wrote:
>>> On Fri, 2009-03-06 at 00:45 -0800, Vladimir Kozlov wrote:
>>>> Looks good.
>>>>
>>>> In x86_32.ad in loadB2L you need only 7 bits shift: SAR dst.hi, 7
>>>> and in loadS2L only 15 bits.
>>>
>>> Right. I will change that and push the changeset. Thanks Vladimir!
>>
>> Hmm, JPRT failed and it seems there is a matcher problem. It matches:
>>
>> match(Set dst (ConvI2L (LoadUB mem)));
>>
>> instead of:
>>
>> match(Set dst (ConvI2L src));
>>
>> But there is no LoadUB node around. Are there any matcher restrictions
>> that I don't know about?
>>
>> -- Christian
>>
>
More information about the hotspot-compiler-dev
mailing list