Skip to content

Commit aad1d61

Browse files
committed
[GR-70945] Fix mask == allZeros canonicalization
PullRequest: graal/22433
2 parents ad6e7f8 + 2d468ea commit aad1d61

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/vector/nodes/simd/SimdPrimitiveCompareNode.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
import jdk.graal.compiler.nodes.spi.CanonicalizerTool;
4747
import jdk.graal.compiler.nodes.spi.NodeLIRBuilderTool;
4848
import jdk.graal.compiler.vector.architecture.VectorArchitecture;
49+
import jdk.graal.compiler.vector.architecture.VectorLoweringProvider;
4950
import jdk.graal.compiler.vector.lir.VectorLIRGeneratorTool;
5051
import jdk.graal.compiler.vector.lir.VectorLIRLowerable;
5152
import jdk.vm.ci.code.CodeUtil;
@@ -143,7 +144,7 @@ public Node canonical(CanonicalizerTool tool, ValueNode forX, ValueNode forY) {
143144
}
144145
SimdStamp simdX = (SimdStamp) forX.stamp(NodeView.from(tool));
145146
SimdStamp simdY = (SimdStamp) forY.stamp(NodeView.from(tool));
146-
if (condition == CanonicalCondition.EQ && simdX.isMask() && simdY.isAllZeros()) {
147+
if (condition == CanonicalCondition.EQ && simdX.isMask() && simdY.isAllZeros() && ((VectorLoweringProvider) tool.getLowerer()).getVectorArchitecture().logicVectorsAreBitmasks()) {
147148
/* A comparison `mask == allZeros` is a logical not of the mask. */
148149
return NotNode.create(forX);
149150
}

0 commit comments

Comments
 (0)