8187022: AArch64: UBFX instructions have wrong format string
Reviewed-by: aph
Contributed-by: daniel.stewart@linaro.org
--- a/hotspot/src/cpu/aarch64/vm/aarch64.ad Fri Sep 01 13:03:14 2017 +0000
+++ b/hotspot/src/cpu/aarch64/vm/aarch64.ad Thu Aug 31 10:28:25 2017 +0800
@@ -12614,7 +12614,7 @@
match(Set dst (AndI (URShiftI src rshift) mask));
ins_cost(INSN_COST);
- format %{ "ubfxw $dst, $src, $mask" %}
+ format %{ "ubfxw $dst, $src, $rshift, $mask" %}
ins_encode %{
int rshift = $rshift$$constant;
long mask = $mask$$constant;
@@ -12629,7 +12629,7 @@
match(Set dst (AndL (URShiftL src rshift) mask));
ins_cost(INSN_COST);
- format %{ "ubfx $dst, $src, $mask" %}
+ format %{ "ubfx $dst, $src, $rshift, $mask" %}
ins_encode %{
int rshift = $rshift$$constant;
long mask = $mask$$constant;
@@ -12647,7 +12647,7 @@
match(Set dst (ConvI2L (AndI (URShiftI src rshift) mask)));
ins_cost(INSN_COST * 2);
- format %{ "ubfx $dst, $src, $mask" %}
+ format %{ "ubfx $dst, $src, $rshift, $mask" %}
ins_encode %{
int rshift = $rshift$$constant;
long mask = $mask$$constant;
--- a/hotspot/src/cpu/aarch64/vm/aarch64_ad.m4 Fri Sep 01 13:03:14 2017 +0000
+++ b/hotspot/src/cpu/aarch64/vm/aarch64_ad.m4 Thu Aug 31 10:28:25 2017 +0800
@@ -183,7 +183,7 @@
match(Set dst (And$1 ($2$1 src rshift) mask));
ins_cost(INSN_COST);
- format %{ "$3 $dst, $src, $mask" %}
+ format %{ "$3 $dst, $src, $rshift, $mask" %}
ins_encode %{
int rshift = $rshift$$constant;
long mask = $mask$$constant;
@@ -203,7 +203,7 @@
match(Set dst (ConvI2L (AndI (URShiftI src rshift) mask)));
ins_cost(INSN_COST * 2);
- format %{ "ubfx $dst, $src, $mask" %}
+ format %{ "ubfx $dst, $src, $rshift, $mask" %}
ins_encode %{
int rshift = $rshift$$constant;
long mask = $mask$$constant;