Request for review (L): 6797305: Add LoadUB and LoadUI opcode class
Christian Thalinger
Christian.Thalinger at Sun.COM
Fri Mar 6 09:46:07 PST 2009
On Fri, 2009-03-06 at 09:38 -0800, Vladimir Kozlov wrote:
> 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);
Ahh, sorry, I didn't mention that this happens on x86_64. I just wonder
why the matcher matches the rule when there is no LoadB that could be
matched. If I remove that instruction, then the next is matched:
match(Set dst (ConvI2L (LoadUB mem)));
-- Christian
More information about the hotspot-compiler-dev
mailing list