90 assert(bt == T_FLOAT, "must be"); |
90 assert(bt == T_FLOAT, "must be"); |
91 return Op_DivVF; |
91 return Op_DivVF; |
92 case Op_DivD: |
92 case Op_DivD: |
93 assert(bt == T_DOUBLE, "must be"); |
93 assert(bt == T_DOUBLE, "must be"); |
94 return Op_DivVD; |
94 return Op_DivVD; |
|
95 case Op_AbsF: |
|
96 assert(bt == T_FLOAT, "must be"); |
|
97 return Op_AbsVF; |
|
98 case Op_AbsD: |
|
99 assert(bt == T_DOUBLE, "must be"); |
|
100 return Op_AbsVD; |
|
101 case Op_NegF: |
|
102 assert(bt == T_FLOAT, "must be"); |
|
103 return Op_NegVF; |
|
104 case Op_NegD: |
|
105 assert(bt == T_DOUBLE, "must be"); |
|
106 return Op_NegVD; |
95 case Op_SqrtD: |
107 case Op_SqrtD: |
96 assert(bt == T_DOUBLE, "must be"); |
108 assert(bt == T_DOUBLE, "must be"); |
97 return Op_SqrtVD; |
109 return Op_SqrtVD; |
98 case Op_LShiftI: |
110 case Op_LShiftI: |
99 switch (bt) { |
111 switch (bt) { |
278 case Op_MulVD: return new MulVDNode(n1, n2, vt); |
290 case Op_MulVD: return new MulVDNode(n1, n2, vt); |
279 |
291 |
280 case Op_DivVF: return new DivVFNode(n1, n2, vt); |
292 case Op_DivVF: return new DivVFNode(n1, n2, vt); |
281 case Op_DivVD: return new DivVDNode(n1, n2, vt); |
293 case Op_DivVD: return new DivVDNode(n1, n2, vt); |
282 |
294 |
|
295 case Op_AbsVF: return new AbsVFNode(n1, vt); |
|
296 case Op_AbsVD: return new AbsVDNode(n1, vt); |
|
297 |
|
298 case Op_NegVF: return new NegVFNode(n1, vt); |
|
299 case Op_NegVD: return new NegVDNode(n1, vt); |
|
300 |
283 // Currently only supports double precision sqrt |
301 // Currently only supports double precision sqrt |
284 case Op_SqrtVD: return new SqrtVDNode(n1, vt); |
302 case Op_SqrtVD: return new SqrtVDNode(n1, vt); |
285 |
303 |
286 case Op_LShiftVB: return new LShiftVBNode(n1, n2, vt); |
304 case Op_LShiftVB: return new LShiftVBNode(n1, n2, vt); |
287 case Op_LShiftVS: return new LShiftVSNode(n1, n2, vt); |
305 case Op_LShiftVS: return new LShiftVSNode(n1, n2, vt); |