--- old/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java 2018-09-06 16:46:36.612131400 -0700 +++ new/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java 2018-09-06 16:46:36.098230400 -0700 @@ -997,12 +997,19 @@ } @Override - public Double256Vector rearrange(Shuffle s) { - return uOp((i, a) -> { + @ForceInline + public Double256Vector rearrange(Shuffle o1) { + Objects.requireNonNull(o1); + Double256Shuffle s = (Double256Shuffle)o1; + + return VectorIntrinsics.rearrangeOp( + Double256Vector.class, Double256Shuffle.class, double.class, LENGTH, + this, s, + (v1, s_) -> v1.uOp((i, a) -> { double[] vec = this.getElements(); - int ei = s.getElement(i); + int ei = s_.getElement(i); return vec[ei]; - }); + })); } @Override