From bda3c23af845d3abe38b81c37f275fc836cb539c Mon Sep 17 00:00:00 2001 From: "Jin,Zhonghui" Date: Fri, 3 Nov 2023 00:09:40 +0800 Subject: [PATCH] [Backport] 8265816: Handle new VectorMaskCast node for x86 Summary: 8265816: Handle new VectorMaskCast node for x86 Test Plan: ci jtreg Reviewed-by: JoshuaZhuwj Issue: https://github.com/dragonwell-project/dragonwell11/issues/597 --- src/hotspot/cpu/x86/x86.ad | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/hotspot/cpu/x86/x86.ad b/src/hotspot/cpu/x86/x86.ad index 3327b8497d5..6909fb9c9d8 100644 --- a/src/hotspot/cpu/x86/x86.ad +++ b/src/hotspot/cpu/x86/x86.ad @@ -7589,6 +7589,18 @@ instruct vstoreMask8B_evex(vec dst, vec src, immI_8 size) %{ ins_pipe( pipe_slow ); %} +instruct vmaskcast(vec dst) %{ + predicate((vector_length(n) == vector_length(n->in(1))) && + (vector_length_in_bytes(n) == vector_length_in_bytes(n->in(1)))); + match(Set dst (VectorMaskCast dst)); + ins_cost(0); + format %{ "vector_mask_cast $dst" %} + ins_encode %{ + // empty + %} + ins_pipe(empty); +%} + //-------------------------------- Load Iota Indices ---------------------------------- instruct loadIotaIndices(vec dst, immI_0 src, rRegP scratch) %{