8169697: AArch64: Vectorized MLA instruction not generated for some test cases
Summary: Add AddVB/S/I/L/F/D node to commut_op_list, as well as other commutative vector operations.
Reviewed-by: roland, kvn
Contributed-by: yang.zhang@linaro.org
--- a/hotspot/src/share/vm/adlc/formssel.cpp Thu May 04 14:54:46 2017 +0000
+++ b/hotspot/src/share/vm/adlc/formssel.cpp Mon Dec 19 10:57:53 2016 +0800
@@ -3792,11 +3792,16 @@
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*);