@@ -18855,11 +18855,7 @@ instruct vsrla8B_imm(vecD dst, vecD src, immI shift) %{
18855
18855
format %{ "usra $dst, $src, $shift\t# vector (8B)" %}
18856
18856
ins_encode %{
18857
18857
int sh = (int)$shift$$constant;
18858
- if (sh >= 8) {
18859
- __ eor(as_FloatRegister($src$$reg), __ T8B,
18860
- as_FloatRegister($src$$reg),
18861
- as_FloatRegister($src$$reg));
18862
- } else {
18858
+ if (sh < 8) {
18863
18859
__ usra(as_FloatRegister($dst$$reg), __ T8B,
18864
18860
as_FloatRegister($src$$reg), sh);
18865
18861
}
@@ -18874,11 +18870,7 @@ instruct vsrla16B_imm(vecX dst, vecX src, immI shift) %{
18874
18870
format %{ "usra $dst, $src, $shift\t# vector (16B)" %}
18875
18871
ins_encode %{
18876
18872
int sh = (int)$shift$$constant;
18877
- if (sh >= 8) {
18878
- __ eor(as_FloatRegister($src$$reg), __ T16B,
18879
- as_FloatRegister($src$$reg),
18880
- as_FloatRegister($src$$reg));
18881
- } else {
18873
+ if (sh < 8) {
18882
18874
__ usra(as_FloatRegister($dst$$reg), __ T16B,
18883
18875
as_FloatRegister($src$$reg), sh);
18884
18876
}
@@ -18893,12 +18885,8 @@ instruct vsrla4S_imm(vecD dst, vecD src, immI shift) %{
18893
18885
format %{ "usra $dst, $src, $shift\t# vector (4H)" %}
18894
18886
ins_encode %{
18895
18887
int sh = (int)$shift$$constant;
18896
- if (sh >= 16) {
18897
- __ eor(as_FloatRegister($src$$reg), __ T8B,
18898
- as_FloatRegister($src$$reg),
18899
- as_FloatRegister($src$$reg));
18900
- } else {
18901
- __ ushr(as_FloatRegister($dst$$reg), __ T4H,
18888
+ if (sh < 16) {
18889
+ __ usra(as_FloatRegister($dst$$reg), __ T4H,
18902
18890
as_FloatRegister($src$$reg), sh);
18903
18891
}
18904
18892
%}
@@ -18912,11 +18900,7 @@ instruct vsrla8S_imm(vecX dst, vecX src, immI shift) %{
18912
18900
format %{ "usra $dst, $src, $shift\t# vector (8H)" %}
18913
18901
ins_encode %{
18914
18902
int sh = (int)$shift$$constant;
18915
- if (sh >= 16) {
18916
- __ eor(as_FloatRegister($src$$reg), __ T16B,
18917
- as_FloatRegister($src$$reg),
18918
- as_FloatRegister($src$$reg));
18919
- } else {
18903
+ if (sh < 16) {
18920
18904
__ usra(as_FloatRegister($dst$$reg), __ T8H,
18921
18905
as_FloatRegister($src$$reg), sh);
18922
18906
}
0 commit comments