--- old/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java 2018-04-19 14:16:30.279808400 -0700 +++ new/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java 2018-04-19 14:16:29.541101700 -0700 @@ -442,6 +442,35 @@ (v, i) -> v.uOp((__, a) -> (long) (a >> i))); } + @Override + @ForceInline + public Long256Vector shiftL(Vector s) { + Long256Vector v = (Long256Vector)s; + return (Long256Vector) VectorIntrinsics.binaryOp( + VECTOR_OP_LSHIFT, Long256Vector.class, long.class, LENGTH, + this, v, + (v1, v2) -> ((Long256Vector)v1).bOp(v2,(i,a, b) -> (long) (a << b))); + } + + @Override + @ForceInline + public Long256Vector shiftR(Vector s) { + Long256Vector v = (Long256Vector)s; + return (Long256Vector) VectorIntrinsics.binaryOp( + VECTOR_OP_URSHIFT, Long256Vector.class, long.class, LENGTH, + this, v, + (v1, v2) -> ((Long256Vector)v1).bOp(v2,(i,a, b) -> (long) (a >>> b))); + } + + @Override + @ForceInline + public Long256Vector ashiftR(Vector s) { + Long256Vector v = (Long256Vector)s; + return (Long256Vector) VectorIntrinsics.binaryOp( + VECTOR_OP_RSHIFT, Long256Vector.class, long.class, LENGTH, + this, v, + (v1, v2) -> ((Long256Vector)v1).bOp(v2,(i,a, b) -> (long) (a >> b))); + } // Ternary operations