@@ -6957,6 +6957,7 @@ instruct extractI(rRegI dst, legVec src, immU8 idx) %{
6957
6957
#ifdef _LP64
6958
6958
match(Set dst (ExtractB src idx));
6959
6959
#endif
6960
+ format %{ "extractI $dst,$src,$idx\t!" %}
6960
6961
ins_encode %{
6961
6962
assert($idx$$constant < (int)vector_length(this, $src), "out of bounds");
6962
6963
@@ -6975,6 +6976,7 @@ instruct vextractI(rRegI dst, legVec src, immI idx, legVec vtmp) %{
6975
6976
match(Set dst (ExtractB src idx));
6976
6977
#endif
6977
6978
effect(TEMP vtmp);
6979
+ format %{ "vextractI $dst,$src,$idx\t! using $vtmp as TEMP" %}
6978
6980
ins_encode %{
6979
6981
assert($idx$$constant < (int)vector_length(this, $src), "out of bounds");
6980
6982
@@ -6989,6 +6991,7 @@ instruct vextractI(rRegI dst, legVec src, immI idx, legVec vtmp) %{
6989
6991
instruct extractL(rRegL dst, legVec src, immU8 idx) %{
6990
6992
predicate(vector_length(n->in(1)) <= 2); // src
6991
6993
match(Set dst (ExtractL src idx));
6994
+ format %{ "extractL $dst,$src,$idx\t!" %}
6992
6995
ins_encode %{
6993
6996
assert(UseSSE >= 4, "required");
6994
6997
assert($idx$$constant < (int)vector_length(this, $src), "out of bounds");
@@ -7003,6 +7006,7 @@ instruct vextractL(rRegL dst, legVec src, immU8 idx, legVec vtmp) %{
7003
7006
vector_length(n->in(1)) == 8); // src
7004
7007
match(Set dst (ExtractL src idx));
7005
7008
effect(TEMP vtmp);
7009
+ format %{ "vextractL $dst,$src,$idx\t! using $vtmp as TEMP" %}
7006
7010
ins_encode %{
7007
7011
assert($idx$$constant < (int)vector_length(this, $src), "out of bounds");
7008
7012
@@ -7017,6 +7021,7 @@ instruct extractF(legRegF dst, legVec src, immU8 idx, rRegI tmp, legVec vtmp) %{
7017
7021
predicate(vector_length(n->in(1)) <= 4);
7018
7022
match(Set dst (ExtractF src idx));
7019
7023
effect(TEMP dst, TEMP tmp, TEMP vtmp);
7024
+ format %{ "extractF $dst,$src,$idx\t! using $tmp, $vtmp as TEMP" %}
7020
7025
ins_encode %{
7021
7026
assert($idx$$constant < (int)vector_length(this, $src), "out of bounds");
7022
7027
@@ -7030,6 +7035,7 @@ instruct vextractF(legRegF dst, legVec src, immU8 idx, rRegI tmp, legVec vtmp) %
7030
7035
vector_length(n->in(1)/*src*/) == 16);
7031
7036
match(Set dst (ExtractF src idx));
7032
7037
effect(TEMP tmp, TEMP vtmp);
7038
+ format %{ "vextractF $dst,$src,$idx\t! using $tmp, $vtmp as TEMP" %}
7033
7039
ins_encode %{
7034
7040
assert($idx$$constant < (int)vector_length(this, $src), "out of bounds");
7035
7041
@@ -7042,6 +7048,7 @@ instruct vextractF(legRegF dst, legVec src, immU8 idx, rRegI tmp, legVec vtmp) %
7042
7048
instruct extractD(legRegD dst, legVec src, immU8 idx) %{
7043
7049
predicate(vector_length(n->in(1)) == 2); // src
7044
7050
match(Set dst (ExtractD src idx));
7051
+ format %{ "extractD $dst,$src,$idx\t!" %}
7045
7052
ins_encode %{
7046
7053
assert($idx$$constant < (int)vector_length(this, $src), "out of bounds");
7047
7054
@@ -7055,6 +7062,7 @@ instruct vextractD(legRegD dst, legVec src, immU8 idx, legVec vtmp) %{
7055
7062
vector_length(n->in(1)) == 8); // src
7056
7063
match(Set dst (ExtractD src idx));
7057
7064
effect(TEMP vtmp);
7065
+ format %{ "vextractD $dst,$src,$idx\t! using $vtmp as TEMP" %}
7058
7066
ins_encode %{
7059
7067
assert($idx$$constant < (int)vector_length(this, $src), "out of bounds");
7060
7068
0 commit comments