src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/NarrowNode.java
changeset 48861 47f19ff9903c
parent 48190 25cfedf27edc
child 50858 2d3e99a72541
equal deleted inserted replaced
48860:5bce1b7e7800 48861:47f19ff9903c
   110                 if (other instanceof SignExtendNode) {
   110                 if (other instanceof SignExtendNode) {
   111                     // sxxx -(sign-extend)-> ssssssss sssssxxx -(narrow)-> sssssxxx
   111                     // sxxx -(sign-extend)-> ssssssss sssssxxx -(narrow)-> sssssxxx
   112                     // ==> sxxx -(sign-extend)-> sssssxxx
   112                     // ==> sxxx -(sign-extend)-> sssssxxx
   113                     return SignExtendNode.create(other.getValue(), other.getInputBits(), getResultBits(), view);
   113                     return SignExtendNode.create(other.getValue(), other.getInputBits(), getResultBits(), view);
   114                 } else if (other instanceof ZeroExtendNode) {
   114                 } else if (other instanceof ZeroExtendNode) {
   115                     // xxxx -(zero-extend)-> 00000000 00000xxx -(narrow)-> 0000xxxx
   115                     // xxxx -(zero-extend)-> 00000000 0000xxxx -(narrow)-> 0000xxxx
   116                     // ==> xxxx -(zero-extend)-> 0000xxxx
   116                     // ==> xxxx -(zero-extend)-> 0000xxxx
   117                     return new ZeroExtendNode(other.getValue(), other.getInputBits(), getResultBits());
   117                     return new ZeroExtendNode(other.getValue(), other.getInputBits(), getResultBits(), ((ZeroExtendNode) other).isInputAlwaysPositive());
   118                 }
   118                 }
   119             }
   119             }
   120         } else if (forValue instanceof AndNode) {
   120         } else if (forValue instanceof AndNode) {
   121             AndNode andNode = (AndNode) forValue;
   121             AndNode andNode = (AndNode) forValue;
   122             IntegerStamp yStamp = (IntegerStamp) andNode.getY().stamp(view);
   122             IntegerStamp yStamp = (IntegerStamp) andNode.getY().stamp(view);