--- old/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template 2018-09-06 16:48:10.473785400 -0700 +++ new/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template 2018-09-06 16:48:09.929749900 -0700 @@ -1286,12 +1286,19 @@ } @Override - public $vectortype$ rearrange(Shuffle<$Boxtype$, Shapes.$shape$> s) { - return uOp((i, a) -> { + @ForceInline + public $vectortype$ rearrange(Shuffle<$Boxtype$, Shapes.$shape$> o1) { + Objects.requireNonNull(o1); + $shuffletype$ s = ($shuffletype$)o1; + + return VectorIntrinsics.rearrangeOp( + $vectortype$.class, $shuffletype$.class, $type$.class, LENGTH, + this, s, + (v1, s_) -> v1.uOp((i, a) -> { $type$[] vec = this.getElements(); - int ei = s.getElement(i); + int ei = s_.getElement(i); return vec[ei]; - }); + })); } @Override