src/cpu/x86/vm/x86_32.ad

changeset 4160
f6badecb7ea7
parent 4159
8e47bac5643a
child 4164
d804e148cff8
     1.1 --- a/src/cpu/x86/vm/x86_32.ad	Tue Oct 09 10:11:38 2012 +0200
     1.2 +++ b/src/cpu/x86/vm/x86_32.ad	Tue Oct 09 12:40:05 2012 -0700
     1.3 @@ -1558,9 +1558,6 @@
     1.4  // Returns true if the high 32 bits of the value is known to be zero.
     1.5  bool is_operand_hi32_zero(Node* n) {
     1.6    int opc = n->Opcode();
     1.7 -  if (opc == Op_LoadUI2L) {
     1.8 -    return true;
     1.9 -  }
    1.10    if (opc == Op_AndL) {
    1.11      Node* o2 = n->in(2);
    1.12      if (o2->is_Con() && (o2->get_long() & 0xFFFFFFFF00000000LL) == 0LL) {
    1.13 @@ -6152,8 +6149,8 @@
    1.14  %}
    1.15  
    1.16  // Load Unsigned Integer into Long Register
    1.17 -instruct loadUI2L(eRegL dst, memory mem, eFlagsReg cr) %{
    1.18 -  match(Set dst (LoadUI2L mem));
    1.19 +instruct loadUI2L(eRegL dst, memory mem, immL_32bits mask, eFlagsReg cr) %{
    1.20 +  match(Set dst (AndL (ConvI2L (LoadI mem)) mask));
    1.21    effect(KILL cr);
    1.22  
    1.23    ins_cost(250);

mercurial