Mercurial > hg > truffle
diff src/cpu/x86/vm/x86_32.ad @ 6849:f6badecb7ea7
7199654: Remove LoadUI2LNode
Summary: Removed LoadUI2L node from Ideal nodes, use match rule in .ad files instead.
Reviewed-by: kvn
author | vlivanov |
---|---|
date | Tue, 09 Oct 2012 12:40:05 -0700 |
parents | 8e47bac5643a |
children | d804e148cff8 |
line wrap: on
line diff
--- a/src/cpu/x86/vm/x86_32.ad Tue Oct 09 10:11:38 2012 +0200 +++ b/src/cpu/x86/vm/x86_32.ad Tue Oct 09 12:40:05 2012 -0700 @@ -1558,9 +1558,6 @@ // Returns true if the high 32 bits of the value is known to be zero. bool is_operand_hi32_zero(Node* n) { int opc = n->Opcode(); - if (opc == Op_LoadUI2L) { - return true; - } if (opc == Op_AndL) { Node* o2 = n->in(2); if (o2->is_Con() && (o2->get_long() & 0xFFFFFFFF00000000LL) == 0LL) { @@ -6152,8 +6149,8 @@ %} // Load Unsigned Integer into Long Register -instruct loadUI2L(eRegL dst, memory mem, eFlagsReg cr) %{ - match(Set dst (LoadUI2L mem)); +instruct loadUI2L(eRegL dst, memory mem, immL_32bits mask, eFlagsReg cr) %{ + match(Set dst (AndL (ConvI2L (LoadI mem)) mask)); effect(KILL cr); ins_cost(250);