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