From 851569b2f4e10d470da8777f979d4c4f48ee60a5 Mon Sep 17 00:00:00 2001 From: Yang Zhang Date: Mon, 19 Dec 2016 10:57:53 +0800 Subject: [PATCH] 8169697: AArch64: Vectorized MLA instruction not generated for some test cases Add AddVB/S/I/L/F/D node to commut_op_list, as well as other commutative vector operations. Reviewed-by: roland, kvn --- hotspot/src/share/vm/adlc/formssel.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/hotspot/src/share/vm/adlc/formssel.cpp b/hotspot/src/share/vm/adlc/formssel.cpp index 3bc1fa6aec8..063159165fe 100644 --- a/hotspot/src/share/vm/adlc/formssel.cpp +++ b/hotspot/src/share/vm/adlc/formssel.cpp @@ -3792,11 +3792,16 @@ bool MatchNode::equivalent(FormDict &globals, MatchNode *mNode2) { void MatchNode::count_commutative_op(int& count) { static const char *commut_op_list[] = { "AddI","AddL","AddF","AddD", + "AddVB","AddVS","AddVI","AddVL","AddVF","AddVD", "AndI","AndL", + "AndV", "MaxI","MinI", "MulI","MulL","MulF","MulD", - "OrI" ,"OrL" , - "XorI","XorL" + "MulVS","MulVI","MulVL","MulVF","MulVD", + "OrI","OrL", + "OrV", + "XorI","XorL", + "XorV" }; int cnt = sizeof(commut_op_list)/sizeof(char*);