mirror of
https://github.com/openjdk/jdk.git
synced 2026-02-20 07:15:31 +00:00
revert the change in StoreNode::Identity
This commit is contained in:
parent
60287b9a6f
commit
2cdfe8d244
@ -3560,13 +3560,8 @@ Node* StoreNode::Identity(PhaseGVN* phase) {
|
||||
val->in(MemNode::Address)->eqv_uncast(adr) &&
|
||||
val->in(MemNode::Memory )->eqv_uncast(mem) &&
|
||||
val->as_Load()->store_Opcode() == Opcode()) {
|
||||
if (!is_StoreVector()) {
|
||||
result = mem;
|
||||
} else if (Opcode() == Op_StoreVector && val->Opcode() == Op_LoadVector &&
|
||||
as_StoreVector()->vect_type() == val->as_LoadVector()->vect_type()) {
|
||||
// Ensure vector type is the same. For a masked access or a gather/scatter, we need to check
|
||||
// for the equivalence of the mask or the indices vector, respectively. We give up on those
|
||||
// cases for now.
|
||||
// Ensure vector type is the same
|
||||
if (!is_StoreVector() || (mem->is_LoadVector() && as_StoreVector()->vect_type() == mem->as_LoadVector()->vect_type())) {
|
||||
result = mem;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2025, 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
* Copyright (c) 2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -29,7 +29,7 @@ import jdk.incubator.vector.*;
|
||||
import jdk.test.lib.Asserts;
|
||||
|
||||
/**
|
||||
* @test 8371603 8376220
|
||||
* @test 8371603
|
||||
* @key randomness
|
||||
* @library /test/lib /
|
||||
* @summary Test the missing optimization issues for vector load/store caused by JDK-8286941
|
||||
@ -96,14 +96,6 @@ public class TestVectorLoadStoreOptimization {
|
||||
}
|
||||
}
|
||||
|
||||
// Test that store a value that is just loaded from the same memory location is elided
|
||||
@Test
|
||||
@IR(failOn = IRNode.STORE_VECTOR,
|
||||
applyIfCPUFeatureOr = {"asimd", "true", "avx", "true", "rvv", "true"})
|
||||
public static void testStoreVector2() {
|
||||
IntVector.fromArray(SPECIES, a, 0).intoArray(a, 0);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
TestFramework testFramework = new TestFramework();
|
||||
testFramework.setDefaultWarmup(10000)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user