File tree 2 files changed +22
-2
lines changed
2 files changed +22
-2
lines changed Original file line number Diff line number Diff line change @@ -7203,6 +7203,7 @@ instruct castLL( eRegL dst ) %{
7203
7203
%}
7204
7204
7205
7205
instruct castFF( regF dst ) %{
7206
+ predicate(UseSSE >= 2);
7206
7207
match(Set dst (CastFF dst));
7207
7208
format %{ "#castFF of $dst" %}
7208
7209
ins_encode( /*empty encoding*/ );
@@ -7211,6 +7212,25 @@ instruct castFF( regF dst ) %{
7211
7212
%}
7212
7213
7213
7214
instruct castDD( regD dst ) %{
7215
+ predicate(UseSSE >= 2);
7216
+ match(Set dst (CastDD dst));
7217
+ format %{ "#castDD of $dst" %}
7218
+ ins_encode( /*empty encoding*/ );
7219
+ ins_cost(0);
7220
+ ins_pipe( empty );
7221
+ %}
7222
+
7223
+ instruct castFF_PR( regFPR dst ) %{
7224
+ predicate(UseSSE < 2);
7225
+ match(Set dst (CastFF dst));
7226
+ format %{ "#castFF of $dst" %}
7227
+ ins_encode( /*empty encoding*/ );
7228
+ ins_cost(0);
7229
+ ins_pipe( empty );
7230
+ %}
7231
+
7232
+ instruct castDD_PR( regDPR dst ) %{
7233
+ predicate(UseSSE < 2);
7214
7234
match(Set dst (CastDD dst));
7215
7235
format %{ "#castDD of $dst" %}
7216
7236
ins_encode( /*empty encoding*/ );
Original file line number Diff line number Diff line change @@ -140,7 +140,7 @@ class CastFFNode: public ConstraintCastNode {
140
140
init_class_id (Class_CastFF);
141
141
}
142
142
virtual int Opcode () const ;
143
- virtual uint ideal_reg () const { return Op_RegF ; }
143
+ virtual uint ideal_reg () const { return in ( 1 )-> ideal_reg () ; }
144
144
};
145
145
146
146
class CastDDNode : public ConstraintCastNode {
@@ -150,7 +150,7 @@ class CastDDNode: public ConstraintCastNode {
150
150
init_class_id (Class_CastDD);
151
151
}
152
152
virtual int Opcode () const ;
153
- virtual uint ideal_reg () const { return Op_RegD ; }
153
+ virtual uint ideal_reg () const { return in ( 1 )-> ideal_reg () ; }
154
154
};
155
155
156
156
class CastVVNode : public ConstraintCastNode {
You can’t perform that action at this time.
0 commit comments