changeset 58925:03cdb342f182 vectorIntrinsics

Fix for Reverted Masked Reductions
author srukmannagar
date Mon, 22 Apr 2019 08:08:28 -0700
parents 82514a6254e6
children 9c5417be0fde 03d6de7473fb
files changeset.log src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte128Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template
diffstat 32 files changed, 189 insertions(+), 189 deletions(-) [+]
line wrap: on
line diff
--- a/changeset.log	Fri Apr 19 11:35:36 2019 -0700
+++ b/changeset.log	Mon Apr 22 08:08:28 2019 -0700
@@ -1,2 +1,2 @@
-Summary: VectorAPI SSE Fixes
-Contributed-by: sandhya.viswanathan@intel.com
+JDK-8221176: Masked reductions are broken
+Summary: This patch fixes the reverted fix for broken masked reductions from JDK-8222290: [vector] Implement Species flattening 
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte128Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte128Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -724,7 +724,7 @@
     @Override
     @ForceInline
     public byte andAll(VectorMask<Byte> m) {
-        return blend((Byte128Vector)ByteVector.broadcast(SPECIES, (byte) -1), m).andAll();
+        return ByteVector.broadcast(SPECIES, (byte) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -766,7 +766,7 @@
     @Override
     @ForceInline
     public byte orAll(VectorMask<Byte> m) {
-        return blend((Byte128Vector)ByteVector.broadcast(SPECIES, (byte) 0), m).orAll();
+        return ByteVector.broadcast(SPECIES, (byte) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -781,33 +781,33 @@
     @Override
     @ForceInline
     public byte xorAll(VectorMask<Byte> m) {
-        return blend((Byte128Vector)ByteVector.broadcast(SPECIES, (byte) 0), m).xorAll();
+        return ByteVector.broadcast(SPECIES, (byte) 0).blend(this, m).xorAll();
     }
 
 
     @Override
     @ForceInline
     public byte addAll(VectorMask<Byte> m) {
-        return blend((Byte128Vector)ByteVector.broadcast(SPECIES, (byte) 0), m).addAll();
+        return ByteVector.broadcast(SPECIES, (byte) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public byte mulAll(VectorMask<Byte> m) {
-        return blend((Byte128Vector)ByteVector.broadcast(SPECIES, (byte) 1), m).mulAll();
+        return ByteVector.broadcast(SPECIES, (byte) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public byte minAll(VectorMask<Byte> m) {
-        return blend((Byte128Vector)ByteVector.broadcast(SPECIES, Byte.MAX_VALUE), m).minAll();
+        return ByteVector.broadcast(SPECIES, Byte.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public byte maxAll(VectorMask<Byte> m) {
-        return blend((Byte128Vector)ByteVector.broadcast(SPECIES, Byte.MIN_VALUE), m).maxAll();
+        return ByteVector.broadcast(SPECIES, Byte.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -724,7 +724,7 @@
     @Override
     @ForceInline
     public byte andAll(VectorMask<Byte> m) {
-        return blend((Byte256Vector)ByteVector.broadcast(SPECIES, (byte) -1), m).andAll();
+        return ByteVector.broadcast(SPECIES, (byte) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -766,7 +766,7 @@
     @Override
     @ForceInline
     public byte orAll(VectorMask<Byte> m) {
-        return blend((Byte256Vector)ByteVector.broadcast(SPECIES, (byte) 0), m).orAll();
+        return ByteVector.broadcast(SPECIES, (byte) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -781,33 +781,33 @@
     @Override
     @ForceInline
     public byte xorAll(VectorMask<Byte> m) {
-        return blend((Byte256Vector)ByteVector.broadcast(SPECIES, (byte) 0), m).xorAll();
+        return ByteVector.broadcast(SPECIES, (byte) 0).blend(this, m).xorAll();
     }
 
 
     @Override
     @ForceInline
     public byte addAll(VectorMask<Byte> m) {
-        return blend((Byte256Vector)ByteVector.broadcast(SPECIES, (byte) 0), m).addAll();
+        return ByteVector.broadcast(SPECIES, (byte) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public byte mulAll(VectorMask<Byte> m) {
-        return blend((Byte256Vector)ByteVector.broadcast(SPECIES, (byte) 1), m).mulAll();
+        return ByteVector.broadcast(SPECIES, (byte) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public byte minAll(VectorMask<Byte> m) {
-        return blend((Byte256Vector)ByteVector.broadcast(SPECIES, Byte.MAX_VALUE), m).minAll();
+        return ByteVector.broadcast(SPECIES, Byte.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public byte maxAll(VectorMask<Byte> m) {
-        return blend((Byte256Vector)ByteVector.broadcast(SPECIES, Byte.MIN_VALUE), m).maxAll();
+        return ByteVector.broadcast(SPECIES, Byte.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -724,7 +724,7 @@
     @Override
     @ForceInline
     public byte andAll(VectorMask<Byte> m) {
-        return blend((Byte512Vector)ByteVector.broadcast(SPECIES, (byte) -1), m).andAll();
+        return ByteVector.broadcast(SPECIES, (byte) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -766,7 +766,7 @@
     @Override
     @ForceInline
     public byte orAll(VectorMask<Byte> m) {
-        return blend((Byte512Vector)ByteVector.broadcast(SPECIES, (byte) 0), m).orAll();
+        return ByteVector.broadcast(SPECIES, (byte) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -781,33 +781,33 @@
     @Override
     @ForceInline
     public byte xorAll(VectorMask<Byte> m) {
-        return blend((Byte512Vector)ByteVector.broadcast(SPECIES, (byte) 0), m).xorAll();
+        return ByteVector.broadcast(SPECIES, (byte) 0).blend(this, m).xorAll();
     }
 
 
     @Override
     @ForceInline
     public byte addAll(VectorMask<Byte> m) {
-        return blend((Byte512Vector)ByteVector.broadcast(SPECIES, (byte) 0), m).addAll();
+        return ByteVector.broadcast(SPECIES, (byte) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public byte mulAll(VectorMask<Byte> m) {
-        return blend((Byte512Vector)ByteVector.broadcast(SPECIES, (byte) 1), m).mulAll();
+        return ByteVector.broadcast(SPECIES, (byte) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public byte minAll(VectorMask<Byte> m) {
-        return blend((Byte512Vector)ByteVector.broadcast(SPECIES, Byte.MAX_VALUE), m).minAll();
+        return ByteVector.broadcast(SPECIES, Byte.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public byte maxAll(VectorMask<Byte> m) {
-        return blend((Byte512Vector)ByteVector.broadcast(SPECIES, Byte.MIN_VALUE), m).maxAll();
+        return ByteVector.broadcast(SPECIES, Byte.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -724,7 +724,7 @@
     @Override
     @ForceInline
     public byte andAll(VectorMask<Byte> m) {
-        return blend((Byte64Vector)ByteVector.broadcast(SPECIES, (byte) -1), m).andAll();
+        return ByteVector.broadcast(SPECIES, (byte) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -766,7 +766,7 @@
     @Override
     @ForceInline
     public byte orAll(VectorMask<Byte> m) {
-        return blend((Byte64Vector)ByteVector.broadcast(SPECIES, (byte) 0), m).orAll();
+        return ByteVector.broadcast(SPECIES, (byte) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -781,33 +781,33 @@
     @Override
     @ForceInline
     public byte xorAll(VectorMask<Byte> m) {
-        return blend((Byte64Vector)ByteVector.broadcast(SPECIES, (byte) 0), m).xorAll();
+        return ByteVector.broadcast(SPECIES, (byte) 0).blend(this, m).xorAll();
     }
 
 
     @Override
     @ForceInline
     public byte addAll(VectorMask<Byte> m) {
-        return blend((Byte64Vector)ByteVector.broadcast(SPECIES, (byte) 0), m).addAll();
+        return ByteVector.broadcast(SPECIES, (byte) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public byte mulAll(VectorMask<Byte> m) {
-        return blend((Byte64Vector)ByteVector.broadcast(SPECIES, (byte) 1), m).mulAll();
+        return ByteVector.broadcast(SPECIES, (byte) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public byte minAll(VectorMask<Byte> m) {
-        return blend((Byte64Vector)ByteVector.broadcast(SPECIES, Byte.MAX_VALUE), m).minAll();
+        return ByteVector.broadcast(SPECIES, Byte.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public byte maxAll(VectorMask<Byte> m) {
-        return blend((Byte64Vector)ByteVector.broadcast(SPECIES, Byte.MIN_VALUE), m).maxAll();
+        return ByteVector.broadcast(SPECIES, Byte.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -724,7 +724,7 @@
     @Override
     @ForceInline
     public byte andAll(VectorMask<Byte> m) {
-        return blend((ByteMaxVector)ByteVector.broadcast(SPECIES, (byte) -1), m).andAll();
+        return ByteVector.broadcast(SPECIES, (byte) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -766,7 +766,7 @@
     @Override
     @ForceInline
     public byte orAll(VectorMask<Byte> m) {
-        return blend((ByteMaxVector)ByteVector.broadcast(SPECIES, (byte) 0), m).orAll();
+        return ByteVector.broadcast(SPECIES, (byte) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -781,33 +781,33 @@
     @Override
     @ForceInline
     public byte xorAll(VectorMask<Byte> m) {
-        return blend((ByteMaxVector)ByteVector.broadcast(SPECIES, (byte) 0), m).xorAll();
+        return ByteVector.broadcast(SPECIES, (byte) 0).blend(this, m).xorAll();
     }
 
 
     @Override
     @ForceInline
     public byte addAll(VectorMask<Byte> m) {
-        return blend((ByteMaxVector)ByteVector.broadcast(SPECIES, (byte) 0), m).addAll();
+        return ByteVector.broadcast(SPECIES, (byte) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public byte mulAll(VectorMask<Byte> m) {
-        return blend((ByteMaxVector)ByteVector.broadcast(SPECIES, (byte) 1), m).mulAll();
+        return ByteVector.broadcast(SPECIES, (byte) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public byte minAll(VectorMask<Byte> m) {
-        return blend((ByteMaxVector)ByteVector.broadcast(SPECIES, Byte.MAX_VALUE), m).minAll();
+        return ByteVector.broadcast(SPECIES, Byte.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public byte maxAll(VectorMask<Byte> m) {
-        return blend((ByteMaxVector)ByteVector.broadcast(SPECIES, Byte.MIN_VALUE), m).maxAll();
+        return ByteVector.broadcast(SPECIES, Byte.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -893,26 +893,26 @@
     @Override
     @ForceInline
     public double addAll(VectorMask<Double> m) {
-        return blend((Double128Vector)DoubleVector.broadcast(SPECIES, (double) 0), m).addAll();
+        return DoubleVector.broadcast(SPECIES, (double) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public double mulAll(VectorMask<Double> m) {
-        return blend((Double128Vector)DoubleVector.broadcast(SPECIES, (double) 1), m).mulAll();
+        return DoubleVector.broadcast(SPECIES, (double) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public double minAll(VectorMask<Double> m) {
-        return blend((Double128Vector)DoubleVector.broadcast(SPECIES, Double.MAX_VALUE), m).minAll();
+        return DoubleVector.broadcast(SPECIES, Double.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public double maxAll(VectorMask<Double> m) {
-        return blend((Double128Vector)DoubleVector.broadcast(SPECIES, Double.MIN_VALUE), m).maxAll();
+        return DoubleVector.broadcast(SPECIES, Double.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -893,26 +893,26 @@
     @Override
     @ForceInline
     public double addAll(VectorMask<Double> m) {
-        return blend((Double256Vector)DoubleVector.broadcast(SPECIES, (double) 0), m).addAll();
+        return DoubleVector.broadcast(SPECIES, (double) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public double mulAll(VectorMask<Double> m) {
-        return blend((Double256Vector)DoubleVector.broadcast(SPECIES, (double) 1), m).mulAll();
+        return DoubleVector.broadcast(SPECIES, (double) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public double minAll(VectorMask<Double> m) {
-        return blend((Double256Vector)DoubleVector.broadcast(SPECIES, Double.MAX_VALUE), m).minAll();
+        return DoubleVector.broadcast(SPECIES, Double.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public double maxAll(VectorMask<Double> m) {
-        return blend((Double256Vector)DoubleVector.broadcast(SPECIES, Double.MIN_VALUE), m).maxAll();
+        return DoubleVector.broadcast(SPECIES, Double.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -893,26 +893,26 @@
     @Override
     @ForceInline
     public double addAll(VectorMask<Double> m) {
-        return blend((Double512Vector)DoubleVector.broadcast(SPECIES, (double) 0), m).addAll();
+        return DoubleVector.broadcast(SPECIES, (double) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public double mulAll(VectorMask<Double> m) {
-        return blend((Double512Vector)DoubleVector.broadcast(SPECIES, (double) 1), m).mulAll();
+        return DoubleVector.broadcast(SPECIES, (double) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public double minAll(VectorMask<Double> m) {
-        return blend((Double512Vector)DoubleVector.broadcast(SPECIES, Double.MAX_VALUE), m).minAll();
+        return DoubleVector.broadcast(SPECIES, Double.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public double maxAll(VectorMask<Double> m) {
-        return blend((Double512Vector)DoubleVector.broadcast(SPECIES, Double.MIN_VALUE), m).maxAll();
+        return DoubleVector.broadcast(SPECIES, Double.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -892,26 +892,26 @@
     @Override
     @ForceInline
     public double addAll(VectorMask<Double> m) {
-        return blend((Double64Vector)DoubleVector.broadcast(SPECIES, (double) 0), m).addAll();
+        return DoubleVector.broadcast(SPECIES, (double) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public double mulAll(VectorMask<Double> m) {
-        return blend((Double64Vector)DoubleVector.broadcast(SPECIES, (double) 1), m).mulAll();
+        return DoubleVector.broadcast(SPECIES, (double) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public double minAll(VectorMask<Double> m) {
-        return blend((Double64Vector)DoubleVector.broadcast(SPECIES, Double.MAX_VALUE), m).minAll();
+        return DoubleVector.broadcast(SPECIES, Double.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public double maxAll(VectorMask<Double> m) {
-        return blend((Double64Vector)DoubleVector.broadcast(SPECIES, Double.MIN_VALUE), m).maxAll();
+        return DoubleVector.broadcast(SPECIES, Double.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -893,26 +893,26 @@
     @Override
     @ForceInline
     public double addAll(VectorMask<Double> m) {
-        return blend((DoubleMaxVector)DoubleVector.broadcast(SPECIES, (double) 0), m).addAll();
+        return DoubleVector.broadcast(SPECIES, (double) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public double mulAll(VectorMask<Double> m) {
-        return blend((DoubleMaxVector)DoubleVector.broadcast(SPECIES, (double) 1), m).mulAll();
+        return DoubleVector.broadcast(SPECIES, (double) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public double minAll(VectorMask<Double> m) {
-        return blend((DoubleMaxVector)DoubleVector.broadcast(SPECIES, Double.MAX_VALUE), m).minAll();
+        return DoubleVector.broadcast(SPECIES, Double.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public double maxAll(VectorMask<Double> m) {
-        return blend((DoubleMaxVector)DoubleVector.broadcast(SPECIES, Double.MIN_VALUE), m).maxAll();
+        return DoubleVector.broadcast(SPECIES, Double.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -893,26 +893,26 @@
     @Override
     @ForceInline
     public float addAll(VectorMask<Float> m) {
-        return blend((Float128Vector)FloatVector.broadcast(SPECIES, (float) 0), m).addAll();
+        return FloatVector.broadcast(SPECIES, (float) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public float mulAll(VectorMask<Float> m) {
-        return blend((Float128Vector)FloatVector.broadcast(SPECIES, (float) 1), m).mulAll();
+        return FloatVector.broadcast(SPECIES, (float) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public float minAll(VectorMask<Float> m) {
-        return blend((Float128Vector)FloatVector.broadcast(SPECIES, Float.MAX_VALUE), m).minAll();
+        return FloatVector.broadcast(SPECIES, Float.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public float maxAll(VectorMask<Float> m) {
-        return blend((Float128Vector)FloatVector.broadcast(SPECIES, Float.MIN_VALUE), m).maxAll();
+        return FloatVector.broadcast(SPECIES, Float.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -893,26 +893,26 @@
     @Override
     @ForceInline
     public float addAll(VectorMask<Float> m) {
-        return blend((Float256Vector)FloatVector.broadcast(SPECIES, (float) 0), m).addAll();
+        return FloatVector.broadcast(SPECIES, (float) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public float mulAll(VectorMask<Float> m) {
-        return blend((Float256Vector)FloatVector.broadcast(SPECIES, (float) 1), m).mulAll();
+        return FloatVector.broadcast(SPECIES, (float) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public float minAll(VectorMask<Float> m) {
-        return blend((Float256Vector)FloatVector.broadcast(SPECIES, Float.MAX_VALUE), m).minAll();
+        return FloatVector.broadcast(SPECIES, Float.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public float maxAll(VectorMask<Float> m) {
-        return blend((Float256Vector)FloatVector.broadcast(SPECIES, Float.MIN_VALUE), m).maxAll();
+        return FloatVector.broadcast(SPECIES, Float.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -893,26 +893,26 @@
     @Override
     @ForceInline
     public float addAll(VectorMask<Float> m) {
-        return blend((Float512Vector)FloatVector.broadcast(SPECIES, (float) 0), m).addAll();
+        return FloatVector.broadcast(SPECIES, (float) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public float mulAll(VectorMask<Float> m) {
-        return blend((Float512Vector)FloatVector.broadcast(SPECIES, (float) 1), m).mulAll();
+        return FloatVector.broadcast(SPECIES, (float) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public float minAll(VectorMask<Float> m) {
-        return blend((Float512Vector)FloatVector.broadcast(SPECIES, Float.MAX_VALUE), m).minAll();
+        return FloatVector.broadcast(SPECIES, Float.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public float maxAll(VectorMask<Float> m) {
-        return blend((Float512Vector)FloatVector.broadcast(SPECIES, Float.MIN_VALUE), m).maxAll();
+        return FloatVector.broadcast(SPECIES, Float.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -893,26 +893,26 @@
     @Override
     @ForceInline
     public float addAll(VectorMask<Float> m) {
-        return blend((Float64Vector)FloatVector.broadcast(SPECIES, (float) 0), m).addAll();
+        return FloatVector.broadcast(SPECIES, (float) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public float mulAll(VectorMask<Float> m) {
-        return blend((Float64Vector)FloatVector.broadcast(SPECIES, (float) 1), m).mulAll();
+        return FloatVector.broadcast(SPECIES, (float) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public float minAll(VectorMask<Float> m) {
-        return blend((Float64Vector)FloatVector.broadcast(SPECIES, Float.MAX_VALUE), m).minAll();
+        return FloatVector.broadcast(SPECIES, Float.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public float maxAll(VectorMask<Float> m) {
-        return blend((Float64Vector)FloatVector.broadcast(SPECIES, Float.MIN_VALUE), m).maxAll();
+        return FloatVector.broadcast(SPECIES, Float.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -893,26 +893,26 @@
     @Override
     @ForceInline
     public float addAll(VectorMask<Float> m) {
-        return blend((FloatMaxVector)FloatVector.broadcast(SPECIES, (float) 0), m).addAll();
+        return FloatVector.broadcast(SPECIES, (float) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public float mulAll(VectorMask<Float> m) {
-        return blend((FloatMaxVector)FloatVector.broadcast(SPECIES, (float) 1), m).mulAll();
+        return FloatVector.broadcast(SPECIES, (float) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public float minAll(VectorMask<Float> m) {
-        return blend((FloatMaxVector)FloatVector.broadcast(SPECIES, Float.MAX_VALUE), m).minAll();
+        return FloatVector.broadcast(SPECIES, Float.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public float maxAll(VectorMask<Float> m) {
-        return blend((FloatMaxVector)FloatVector.broadcast(SPECIES, Float.MIN_VALUE), m).maxAll();
+        return FloatVector.broadcast(SPECIES, Float.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -769,7 +769,7 @@
     @Override
     @ForceInline
     public int andAll(VectorMask<Integer> m) {
-        return blend((Int128Vector)IntVector.broadcast(SPECIES, (int) -1), m).andAll();
+        return IntVector.broadcast(SPECIES, (int) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -811,7 +811,7 @@
     @Override
     @ForceInline
     public int orAll(VectorMask<Integer> m) {
-        return blend((Int128Vector)IntVector.broadcast(SPECIES, (int) 0), m).orAll();
+        return IntVector.broadcast(SPECIES, (int) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -826,33 +826,33 @@
     @Override
     @ForceInline
     public int xorAll(VectorMask<Integer> m) {
-        return blend((Int128Vector)IntVector.broadcast(SPECIES, (int) 0), m).xorAll();
+        return IntVector.broadcast(SPECIES, (int) 0).blend(this, m).xorAll();
     }
 
 
     @Override
     @ForceInline
     public int addAll(VectorMask<Integer> m) {
-        return blend((Int128Vector)IntVector.broadcast(SPECIES, (int) 0), m).addAll();
+        return IntVector.broadcast(SPECIES, (int) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public int mulAll(VectorMask<Integer> m) {
-        return blend((Int128Vector)IntVector.broadcast(SPECIES, (int) 1), m).mulAll();
+        return IntVector.broadcast(SPECIES, (int) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public int minAll(VectorMask<Integer> m) {
-        return blend((Int128Vector)IntVector.broadcast(SPECIES, Integer.MAX_VALUE), m).minAll();
+        return IntVector.broadcast(SPECIES, Integer.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public int maxAll(VectorMask<Integer> m) {
-        return blend((Int128Vector)IntVector.broadcast(SPECIES, Integer.MIN_VALUE), m).maxAll();
+        return IntVector.broadcast(SPECIES, Integer.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -769,7 +769,7 @@
     @Override
     @ForceInline
     public int andAll(VectorMask<Integer> m) {
-        return blend((Int256Vector)IntVector.broadcast(SPECIES, (int) -1), m).andAll();
+        return IntVector.broadcast(SPECIES, (int) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -811,7 +811,7 @@
     @Override
     @ForceInline
     public int orAll(VectorMask<Integer> m) {
-        return blend((Int256Vector)IntVector.broadcast(SPECIES, (int) 0), m).orAll();
+        return IntVector.broadcast(SPECIES, (int) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -826,33 +826,33 @@
     @Override
     @ForceInline
     public int xorAll(VectorMask<Integer> m) {
-        return blend((Int256Vector)IntVector.broadcast(SPECIES, (int) 0), m).xorAll();
+        return IntVector.broadcast(SPECIES, (int) 0).blend(this, m).xorAll();
     }
 
 
     @Override
     @ForceInline
     public int addAll(VectorMask<Integer> m) {
-        return blend((Int256Vector)IntVector.broadcast(SPECIES, (int) 0), m).addAll();
+        return IntVector.broadcast(SPECIES, (int) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public int mulAll(VectorMask<Integer> m) {
-        return blend((Int256Vector)IntVector.broadcast(SPECIES, (int) 1), m).mulAll();
+        return IntVector.broadcast(SPECIES, (int) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public int minAll(VectorMask<Integer> m) {
-        return blend((Int256Vector)IntVector.broadcast(SPECIES, Integer.MAX_VALUE), m).minAll();
+        return IntVector.broadcast(SPECIES, Integer.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public int maxAll(VectorMask<Integer> m) {
-        return blend((Int256Vector)IntVector.broadcast(SPECIES, Integer.MIN_VALUE), m).maxAll();
+        return IntVector.broadcast(SPECIES, Integer.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -769,7 +769,7 @@
     @Override
     @ForceInline
     public int andAll(VectorMask<Integer> m) {
-        return blend((Int512Vector)IntVector.broadcast(SPECIES, (int) -1), m).andAll();
+        return IntVector.broadcast(SPECIES, (int) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -811,7 +811,7 @@
     @Override
     @ForceInline
     public int orAll(VectorMask<Integer> m) {
-        return blend((Int512Vector)IntVector.broadcast(SPECIES, (int) 0), m).orAll();
+        return IntVector.broadcast(SPECIES, (int) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -826,33 +826,33 @@
     @Override
     @ForceInline
     public int xorAll(VectorMask<Integer> m) {
-        return blend((Int512Vector)IntVector.broadcast(SPECIES, (int) 0), m).xorAll();
+        return IntVector.broadcast(SPECIES, (int) 0).blend(this, m).xorAll();
     }
 
 
     @Override
     @ForceInline
     public int addAll(VectorMask<Integer> m) {
-        return blend((Int512Vector)IntVector.broadcast(SPECIES, (int) 0), m).addAll();
+        return IntVector.broadcast(SPECIES, (int) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public int mulAll(VectorMask<Integer> m) {
-        return blend((Int512Vector)IntVector.broadcast(SPECIES, (int) 1), m).mulAll();
+        return IntVector.broadcast(SPECIES, (int) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public int minAll(VectorMask<Integer> m) {
-        return blend((Int512Vector)IntVector.broadcast(SPECIES, Integer.MAX_VALUE), m).minAll();
+        return IntVector.broadcast(SPECIES, Integer.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public int maxAll(VectorMask<Integer> m) {
-        return blend((Int512Vector)IntVector.broadcast(SPECIES, Integer.MIN_VALUE), m).maxAll();
+        return IntVector.broadcast(SPECIES, Integer.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -769,7 +769,7 @@
     @Override
     @ForceInline
     public int andAll(VectorMask<Integer> m) {
-        return blend((Int64Vector)IntVector.broadcast(SPECIES, (int) -1), m).andAll();
+        return IntVector.broadcast(SPECIES, (int) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -811,7 +811,7 @@
     @Override
     @ForceInline
     public int orAll(VectorMask<Integer> m) {
-        return blend((Int64Vector)IntVector.broadcast(SPECIES, (int) 0), m).orAll();
+        return IntVector.broadcast(SPECIES, (int) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -826,33 +826,33 @@
     @Override
     @ForceInline
     public int xorAll(VectorMask<Integer> m) {
-        return blend((Int64Vector)IntVector.broadcast(SPECIES, (int) 0), m).xorAll();
+        return IntVector.broadcast(SPECIES, (int) 0).blend(this, m).xorAll();
     }
 
 
     @Override
     @ForceInline
     public int addAll(VectorMask<Integer> m) {
-        return blend((Int64Vector)IntVector.broadcast(SPECIES, (int) 0), m).addAll();
+        return IntVector.broadcast(SPECIES, (int) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public int mulAll(VectorMask<Integer> m) {
-        return blend((Int64Vector)IntVector.broadcast(SPECIES, (int) 1), m).mulAll();
+        return IntVector.broadcast(SPECIES, (int) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public int minAll(VectorMask<Integer> m) {
-        return blend((Int64Vector)IntVector.broadcast(SPECIES, Integer.MAX_VALUE), m).minAll();
+        return IntVector.broadcast(SPECIES, Integer.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public int maxAll(VectorMask<Integer> m) {
-        return blend((Int64Vector)IntVector.broadcast(SPECIES, Integer.MIN_VALUE), m).maxAll();
+        return IntVector.broadcast(SPECIES, Integer.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -769,7 +769,7 @@
     @Override
     @ForceInline
     public int andAll(VectorMask<Integer> m) {
-        return blend((IntMaxVector)IntVector.broadcast(SPECIES, (int) -1), m).andAll();
+        return IntVector.broadcast(SPECIES, (int) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -811,7 +811,7 @@
     @Override
     @ForceInline
     public int orAll(VectorMask<Integer> m) {
-        return blend((IntMaxVector)IntVector.broadcast(SPECIES, (int) 0), m).orAll();
+        return IntVector.broadcast(SPECIES, (int) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -826,33 +826,33 @@
     @Override
     @ForceInline
     public int xorAll(VectorMask<Integer> m) {
-        return blend((IntMaxVector)IntVector.broadcast(SPECIES, (int) 0), m).xorAll();
+        return IntVector.broadcast(SPECIES, (int) 0).blend(this, m).xorAll();
     }
 
 
     @Override
     @ForceInline
     public int addAll(VectorMask<Integer> m) {
-        return blend((IntMaxVector)IntVector.broadcast(SPECIES, (int) 0), m).addAll();
+        return IntVector.broadcast(SPECIES, (int) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public int mulAll(VectorMask<Integer> m) {
-        return blend((IntMaxVector)IntVector.broadcast(SPECIES, (int) 1), m).mulAll();
+        return IntVector.broadcast(SPECIES, (int) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public int minAll(VectorMask<Integer> m) {
-        return blend((IntMaxVector)IntVector.broadcast(SPECIES, Integer.MAX_VALUE), m).minAll();
+        return IntVector.broadcast(SPECIES, Integer.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public int maxAll(VectorMask<Integer> m) {
-        return blend((IntMaxVector)IntVector.broadcast(SPECIES, Integer.MIN_VALUE), m).maxAll();
+        return IntVector.broadcast(SPECIES, Integer.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -769,7 +769,7 @@
     @Override
     @ForceInline
     public long andAll(VectorMask<Long> m) {
-        return blend((Long128Vector)LongVector.broadcast(SPECIES, (long) -1), m).andAll();
+        return LongVector.broadcast(SPECIES, (long) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -811,7 +811,7 @@
     @Override
     @ForceInline
     public long orAll(VectorMask<Long> m) {
-        return blend((Long128Vector)LongVector.broadcast(SPECIES, (long) 0), m).orAll();
+        return LongVector.broadcast(SPECIES, (long) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -826,33 +826,33 @@
     @Override
     @ForceInline
     public long xorAll(VectorMask<Long> m) {
-        return blend((Long128Vector)LongVector.broadcast(SPECIES, (long) 0), m).xorAll();
+        return LongVector.broadcast(SPECIES, (long) 0).blend(this, m).xorAll();
     }
 
 
     @Override
     @ForceInline
     public long addAll(VectorMask<Long> m) {
-        return blend((Long128Vector)LongVector.broadcast(SPECIES, (long) 0), m).addAll();
+        return LongVector.broadcast(SPECIES, (long) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public long mulAll(VectorMask<Long> m) {
-        return blend((Long128Vector)LongVector.broadcast(SPECIES, (long) 1), m).mulAll();
+        return LongVector.broadcast(SPECIES, (long) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public long minAll(VectorMask<Long> m) {
-        return blend((Long128Vector)LongVector.broadcast(SPECIES, Long.MAX_VALUE), m).minAll();
+        return LongVector.broadcast(SPECIES, Long.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public long maxAll(VectorMask<Long> m) {
-        return blend((Long128Vector)LongVector.broadcast(SPECIES, Long.MIN_VALUE), m).maxAll();
+        return LongVector.broadcast(SPECIES, Long.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -769,7 +769,7 @@
     @Override
     @ForceInline
     public long andAll(VectorMask<Long> m) {
-        return blend((Long256Vector)LongVector.broadcast(SPECIES, (long) -1), m).andAll();
+        return LongVector.broadcast(SPECIES, (long) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -811,7 +811,7 @@
     @Override
     @ForceInline
     public long orAll(VectorMask<Long> m) {
-        return blend((Long256Vector)LongVector.broadcast(SPECIES, (long) 0), m).orAll();
+        return LongVector.broadcast(SPECIES, (long) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -826,33 +826,33 @@
     @Override
     @ForceInline
     public long xorAll(VectorMask<Long> m) {
-        return blend((Long256Vector)LongVector.broadcast(SPECIES, (long) 0), m).xorAll();
+        return LongVector.broadcast(SPECIES, (long) 0).blend(this, m).xorAll();
     }
 
 
     @Override
     @ForceInline
     public long addAll(VectorMask<Long> m) {
-        return blend((Long256Vector)LongVector.broadcast(SPECIES, (long) 0), m).addAll();
+        return LongVector.broadcast(SPECIES, (long) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public long mulAll(VectorMask<Long> m) {
-        return blend((Long256Vector)LongVector.broadcast(SPECIES, (long) 1), m).mulAll();
+        return LongVector.broadcast(SPECIES, (long) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public long minAll(VectorMask<Long> m) {
-        return blend((Long256Vector)LongVector.broadcast(SPECIES, Long.MAX_VALUE), m).minAll();
+        return LongVector.broadcast(SPECIES, Long.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public long maxAll(VectorMask<Long> m) {
-        return blend((Long256Vector)LongVector.broadcast(SPECIES, Long.MIN_VALUE), m).maxAll();
+        return LongVector.broadcast(SPECIES, Long.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -769,7 +769,7 @@
     @Override
     @ForceInline
     public long andAll(VectorMask<Long> m) {
-        return blend((Long512Vector)LongVector.broadcast(SPECIES, (long) -1), m).andAll();
+        return LongVector.broadcast(SPECIES, (long) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -811,7 +811,7 @@
     @Override
     @ForceInline
     public long orAll(VectorMask<Long> m) {
-        return blend((Long512Vector)LongVector.broadcast(SPECIES, (long) 0), m).orAll();
+        return LongVector.broadcast(SPECIES, (long) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -826,33 +826,33 @@
     @Override
     @ForceInline
     public long xorAll(VectorMask<Long> m) {
-        return blend((Long512Vector)LongVector.broadcast(SPECIES, (long) 0), m).xorAll();
+        return LongVector.broadcast(SPECIES, (long) 0).blend(this, m).xorAll();
     }
 
 
     @Override
     @ForceInline
     public long addAll(VectorMask<Long> m) {
-        return blend((Long512Vector)LongVector.broadcast(SPECIES, (long) 0), m).addAll();
+        return LongVector.broadcast(SPECIES, (long) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public long mulAll(VectorMask<Long> m) {
-        return blend((Long512Vector)LongVector.broadcast(SPECIES, (long) 1), m).mulAll();
+        return LongVector.broadcast(SPECIES, (long) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public long minAll(VectorMask<Long> m) {
-        return blend((Long512Vector)LongVector.broadcast(SPECIES, Long.MAX_VALUE), m).minAll();
+        return LongVector.broadcast(SPECIES, Long.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public long maxAll(VectorMask<Long> m) {
-        return blend((Long512Vector)LongVector.broadcast(SPECIES, Long.MIN_VALUE), m).maxAll();
+        return LongVector.broadcast(SPECIES, Long.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -768,7 +768,7 @@
     @Override
     @ForceInline
     public long andAll(VectorMask<Long> m) {
-        return blend((Long64Vector)LongVector.broadcast(SPECIES, (long) -1), m).andAll();
+        return LongVector.broadcast(SPECIES, (long) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -810,7 +810,7 @@
     @Override
     @ForceInline
     public long orAll(VectorMask<Long> m) {
-        return blend((Long64Vector)LongVector.broadcast(SPECIES, (long) 0), m).orAll();
+        return LongVector.broadcast(SPECIES, (long) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -825,33 +825,33 @@
     @Override
     @ForceInline
     public long xorAll(VectorMask<Long> m) {
-        return blend((Long64Vector)LongVector.broadcast(SPECIES, (long) 0), m).xorAll();
+        return LongVector.broadcast(SPECIES, (long) 0).blend(this, m).xorAll();
     }
 
 
     @Override
     @ForceInline
     public long addAll(VectorMask<Long> m) {
-        return blend((Long64Vector)LongVector.broadcast(SPECIES, (long) 0), m).addAll();
+        return LongVector.broadcast(SPECIES, (long) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public long mulAll(VectorMask<Long> m) {
-        return blend((Long64Vector)LongVector.broadcast(SPECIES, (long) 1), m).mulAll();
+        return LongVector.broadcast(SPECIES, (long) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public long minAll(VectorMask<Long> m) {
-        return blend((Long64Vector)LongVector.broadcast(SPECIES, Long.MAX_VALUE), m).minAll();
+        return LongVector.broadcast(SPECIES, Long.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public long maxAll(VectorMask<Long> m) {
-        return blend((Long64Vector)LongVector.broadcast(SPECIES, Long.MIN_VALUE), m).maxAll();
+        return LongVector.broadcast(SPECIES, Long.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -769,7 +769,7 @@
     @Override
     @ForceInline
     public long andAll(VectorMask<Long> m) {
-        return blend((LongMaxVector)LongVector.broadcast(SPECIES, (long) -1), m).andAll();
+        return LongVector.broadcast(SPECIES, (long) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -811,7 +811,7 @@
     @Override
     @ForceInline
     public long orAll(VectorMask<Long> m) {
-        return blend((LongMaxVector)LongVector.broadcast(SPECIES, (long) 0), m).orAll();
+        return LongVector.broadcast(SPECIES, (long) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -826,33 +826,33 @@
     @Override
     @ForceInline
     public long xorAll(VectorMask<Long> m) {
-        return blend((LongMaxVector)LongVector.broadcast(SPECIES, (long) 0), m).xorAll();
+        return LongVector.broadcast(SPECIES, (long) 0).blend(this, m).xorAll();
     }
 
 
     @Override
     @ForceInline
     public long addAll(VectorMask<Long> m) {
-        return blend((LongMaxVector)LongVector.broadcast(SPECIES, (long) 0), m).addAll();
+        return LongVector.broadcast(SPECIES, (long) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public long mulAll(VectorMask<Long> m) {
-        return blend((LongMaxVector)LongVector.broadcast(SPECIES, (long) 1), m).mulAll();
+        return LongVector.broadcast(SPECIES, (long) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public long minAll(VectorMask<Long> m) {
-        return blend((LongMaxVector)LongVector.broadcast(SPECIES, Long.MAX_VALUE), m).minAll();
+        return LongVector.broadcast(SPECIES, Long.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public long maxAll(VectorMask<Long> m) {
-        return blend((LongMaxVector)LongVector.broadcast(SPECIES, Long.MIN_VALUE), m).maxAll();
+        return LongVector.broadcast(SPECIES, Long.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -725,7 +725,7 @@
     @Override
     @ForceInline
     public short andAll(VectorMask<Short> m) {
-        return blend((Short128Vector)ShortVector.broadcast(SPECIES, (short) -1), m).andAll();
+        return ShortVector.broadcast(SPECIES, (short) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -767,7 +767,7 @@
     @Override
     @ForceInline
     public short orAll(VectorMask<Short> m) {
-        return blend((Short128Vector)ShortVector.broadcast(SPECIES, (short) 0), m).orAll();
+        return ShortVector.broadcast(SPECIES, (short) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -782,33 +782,33 @@
     @Override
     @ForceInline
     public short xorAll(VectorMask<Short> m) {
-        return blend((Short128Vector)ShortVector.broadcast(SPECIES, (short) 0), m).xorAll();
+        return ShortVector.broadcast(SPECIES, (short) 0).blend(this, m).xorAll();
     }
 
 
     @Override
     @ForceInline
     public short addAll(VectorMask<Short> m) {
-        return blend((Short128Vector)ShortVector.broadcast(SPECIES, (short) 0), m).addAll();
+        return ShortVector.broadcast(SPECIES, (short) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public short mulAll(VectorMask<Short> m) {
-        return blend((Short128Vector)ShortVector.broadcast(SPECIES, (short) 1), m).mulAll();
+        return ShortVector.broadcast(SPECIES, (short) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public short minAll(VectorMask<Short> m) {
-        return blend((Short128Vector)ShortVector.broadcast(SPECIES, Short.MAX_VALUE), m).minAll();
+        return ShortVector.broadcast(SPECIES, Short.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public short maxAll(VectorMask<Short> m) {
-        return blend((Short128Vector)ShortVector.broadcast(SPECIES, Short.MIN_VALUE), m).maxAll();
+        return ShortVector.broadcast(SPECIES, Short.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -725,7 +725,7 @@
     @Override
     @ForceInline
     public short andAll(VectorMask<Short> m) {
-        return blend((Short256Vector)ShortVector.broadcast(SPECIES, (short) -1), m).andAll();
+        return ShortVector.broadcast(SPECIES, (short) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -767,7 +767,7 @@
     @Override
     @ForceInline
     public short orAll(VectorMask<Short> m) {
-        return blend((Short256Vector)ShortVector.broadcast(SPECIES, (short) 0), m).orAll();
+        return ShortVector.broadcast(SPECIES, (short) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -782,33 +782,33 @@
     @Override
     @ForceInline
     public short xorAll(VectorMask<Short> m) {
-        return blend((Short256Vector)ShortVector.broadcast(SPECIES, (short) 0), m).xorAll();
+        return ShortVector.broadcast(SPECIES, (short) 0).blend(this, m).xorAll();
     }
 
 
     @Override
     @ForceInline
     public short addAll(VectorMask<Short> m) {
-        return blend((Short256Vector)ShortVector.broadcast(SPECIES, (short) 0), m).addAll();
+        return ShortVector.broadcast(SPECIES, (short) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public short mulAll(VectorMask<Short> m) {
-        return blend((Short256Vector)ShortVector.broadcast(SPECIES, (short) 1), m).mulAll();
+        return ShortVector.broadcast(SPECIES, (short) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public short minAll(VectorMask<Short> m) {
-        return blend((Short256Vector)ShortVector.broadcast(SPECIES, Short.MAX_VALUE), m).minAll();
+        return ShortVector.broadcast(SPECIES, Short.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public short maxAll(VectorMask<Short> m) {
-        return blend((Short256Vector)ShortVector.broadcast(SPECIES, Short.MIN_VALUE), m).maxAll();
+        return ShortVector.broadcast(SPECIES, Short.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -725,7 +725,7 @@
     @Override
     @ForceInline
     public short andAll(VectorMask<Short> m) {
-        return blend((Short512Vector)ShortVector.broadcast(SPECIES, (short) -1), m).andAll();
+        return ShortVector.broadcast(SPECIES, (short) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -767,7 +767,7 @@
     @Override
     @ForceInline
     public short orAll(VectorMask<Short> m) {
-        return blend((Short512Vector)ShortVector.broadcast(SPECIES, (short) 0), m).orAll();
+        return ShortVector.broadcast(SPECIES, (short) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -782,33 +782,33 @@
     @Override
     @ForceInline
     public short xorAll(VectorMask<Short> m) {
-        return blend((Short512Vector)ShortVector.broadcast(SPECIES, (short) 0), m).xorAll();
+        return ShortVector.broadcast(SPECIES, (short) 0).blend(this, m).xorAll();
     }
 
 
     @Override
     @ForceInline
     public short addAll(VectorMask<Short> m) {
-        return blend((Short512Vector)ShortVector.broadcast(SPECIES, (short) 0), m).addAll();
+        return ShortVector.broadcast(SPECIES, (short) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public short mulAll(VectorMask<Short> m) {
-        return blend((Short512Vector)ShortVector.broadcast(SPECIES, (short) 1), m).mulAll();
+        return ShortVector.broadcast(SPECIES, (short) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public short minAll(VectorMask<Short> m) {
-        return blend((Short512Vector)ShortVector.broadcast(SPECIES, Short.MAX_VALUE), m).minAll();
+        return ShortVector.broadcast(SPECIES, Short.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public short maxAll(VectorMask<Short> m) {
-        return blend((Short512Vector)ShortVector.broadcast(SPECIES, Short.MIN_VALUE), m).maxAll();
+        return ShortVector.broadcast(SPECIES, Short.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -725,7 +725,7 @@
     @Override
     @ForceInline
     public short andAll(VectorMask<Short> m) {
-        return blend((Short64Vector)ShortVector.broadcast(SPECIES, (short) -1), m).andAll();
+        return ShortVector.broadcast(SPECIES, (short) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -767,7 +767,7 @@
     @Override
     @ForceInline
     public short orAll(VectorMask<Short> m) {
-        return blend((Short64Vector)ShortVector.broadcast(SPECIES, (short) 0), m).orAll();
+        return ShortVector.broadcast(SPECIES, (short) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -782,33 +782,33 @@
     @Override
     @ForceInline
     public short xorAll(VectorMask<Short> m) {
-        return blend((Short64Vector)ShortVector.broadcast(SPECIES, (short) 0), m).xorAll();
+        return ShortVector.broadcast(SPECIES, (short) 0).blend(this, m).xorAll();
     }
 
 
     @Override
     @ForceInline
     public short addAll(VectorMask<Short> m) {
-        return blend((Short64Vector)ShortVector.broadcast(SPECIES, (short) 0), m).addAll();
+        return ShortVector.broadcast(SPECIES, (short) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public short mulAll(VectorMask<Short> m) {
-        return blend((Short64Vector)ShortVector.broadcast(SPECIES, (short) 1), m).mulAll();
+        return ShortVector.broadcast(SPECIES, (short) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public short minAll(VectorMask<Short> m) {
-        return blend((Short64Vector)ShortVector.broadcast(SPECIES, Short.MAX_VALUE), m).minAll();
+        return ShortVector.broadcast(SPECIES, Short.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public short maxAll(VectorMask<Short> m) {
-        return blend((Short64Vector)ShortVector.broadcast(SPECIES, Short.MIN_VALUE), m).maxAll();
+        return ShortVector.broadcast(SPECIES, Short.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java	Mon Apr 22 08:08:28 2019 -0700
@@ -725,7 +725,7 @@
     @Override
     @ForceInline
     public short andAll(VectorMask<Short> m) {
-        return blend((ShortMaxVector)ShortVector.broadcast(SPECIES, (short) -1), m).andAll();
+        return ShortVector.broadcast(SPECIES, (short) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -767,7 +767,7 @@
     @Override
     @ForceInline
     public short orAll(VectorMask<Short> m) {
-        return blend((ShortMaxVector)ShortVector.broadcast(SPECIES, (short) 0), m).orAll();
+        return ShortVector.broadcast(SPECIES, (short) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -782,33 +782,33 @@
     @Override
     @ForceInline
     public short xorAll(VectorMask<Short> m) {
-        return blend((ShortMaxVector)ShortVector.broadcast(SPECIES, (short) 0), m).xorAll();
+        return ShortVector.broadcast(SPECIES, (short) 0).blend(this, m).xorAll();
     }
 
 
     @Override
     @ForceInline
     public short addAll(VectorMask<Short> m) {
-        return blend((ShortMaxVector)ShortVector.broadcast(SPECIES, (short) 0), m).addAll();
+        return ShortVector.broadcast(SPECIES, (short) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public short mulAll(VectorMask<Short> m) {
-        return blend((ShortMaxVector)ShortVector.broadcast(SPECIES, (short) 1), m).mulAll();
+        return ShortVector.broadcast(SPECIES, (short) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public short minAll(VectorMask<Short> m) {
-        return blend((ShortMaxVector)ShortVector.broadcast(SPECIES, Short.MAX_VALUE), m).minAll();
+        return ShortVector.broadcast(SPECIES, Short.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public short maxAll(VectorMask<Short> m) {
-        return blend((ShortMaxVector)ShortVector.broadcast(SPECIES, Short.MIN_VALUE), m).maxAll();
+        return ShortVector.broadcast(SPECIES, Short.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override
--- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template	Fri Apr 19 11:35:36 2019 -0700
+++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template	Mon Apr 22 08:08:28 2019 -0700
@@ -1158,7 +1158,7 @@
     @Override
     @ForceInline
     public $type$ andAll(VectorMask<$Boxtype$> m) {
-        return blend(($vectortype$)$abstractvectortype$.broadcast(SPECIES, ($type$) -1), m).andAll();
+        return $abstractvectortype$.broadcast(SPECIES, ($type$) -1).blend(this, m).andAll();
     }
 
     @Override
@@ -1200,7 +1200,7 @@
     @Override
     @ForceInline
     public $type$ orAll(VectorMask<$Boxtype$> m) {
-        return blend(($vectortype$)$abstractvectortype$.broadcast(SPECIES, ($type$) 0), m).orAll();
+        return $abstractvectortype$.broadcast(SPECIES, ($type$) 0).blend(this, m).orAll();
     }
 
     @Override
@@ -1215,7 +1215,7 @@
     @Override
     @ForceInline
     public $type$ xorAll(VectorMask<$Boxtype$> m) {
-        return blend(($vectortype$)$abstractvectortype$.broadcast(SPECIES, ($type$) 0), m).xorAll();
+        return $abstractvectortype$.broadcast(SPECIES, ($type$) 0).blend(this, m).xorAll();
     }
 #end[BITWISE]
 
@@ -1277,26 +1277,26 @@
     @Override
     @ForceInline
     public $type$ addAll(VectorMask<$Boxtype$> m) {
-        return blend(($vectortype$)$abstractvectortype$.broadcast(SPECIES, ($type$) 0), m).addAll();
+        return $abstractvectortype$.broadcast(SPECIES, ($type$) 0).blend(this, m).addAll();
     }
 
 
     @Override
     @ForceInline
     public $type$ mulAll(VectorMask<$Boxtype$> m) {
-        return blend(($vectortype$)$abstractvectortype$.broadcast(SPECIES, ($type$) 1), m).mulAll();
+        return $abstractvectortype$.broadcast(SPECIES, ($type$) 1).blend(this, m).mulAll();
     }
 
     @Override
     @ForceInline
     public $type$ minAll(VectorMask<$Boxtype$> m) {
-        return blend(($vectortype$)$abstractvectortype$.broadcast(SPECIES, $Boxtype$.MAX_VALUE), m).minAll();
+        return $abstractvectortype$.broadcast(SPECIES, $Boxtype$.MAX_VALUE).blend(this, m).minAll();
     }
 
     @Override
     @ForceInline
     public $type$ maxAll(VectorMask<$Boxtype$> m) {
-        return blend(($vectortype$)$abstractvectortype$.broadcast(SPECIES, $Boxtype$.MIN_VALUE), m).maxAll();
+        return $abstractvectortype$.broadcast(SPECIES, $Boxtype$.MIN_VALUE).blend(this, m).maxAll();
     }
 
     @Override