75 case T_CHAR: |
75 case T_CHAR: |
76 case T_SHORT: return Op_MulVS; |
76 case T_SHORT: return Op_MulVS; |
77 case T_INT: return Op_MulVI; |
77 case T_INT: return Op_MulVI; |
78 } |
78 } |
79 ShouldNotReachHere(); |
79 ShouldNotReachHere(); |
|
80 case Op_MulL: |
|
81 assert(bt == T_LONG, "must be"); |
|
82 return Op_MulVL; |
80 case Op_MulF: |
83 case Op_MulF: |
81 assert(bt == T_FLOAT, "must be"); |
84 assert(bt == T_FLOAT, "must be"); |
82 return Op_MulVF; |
85 return Op_MulVF; |
83 case Op_MulD: |
86 case Op_MulD: |
84 assert(bt == T_DOUBLE, "must be"); |
87 assert(bt == T_DOUBLE, "must be"); |
265 case Op_SubVF: return new SubVFNode(n1, n2, vt); |
268 case Op_SubVF: return new SubVFNode(n1, n2, vt); |
266 case Op_SubVD: return new SubVDNode(n1, n2, vt); |
269 case Op_SubVD: return new SubVDNode(n1, n2, vt); |
267 |
270 |
268 case Op_MulVS: return new MulVSNode(n1, n2, vt); |
271 case Op_MulVS: return new MulVSNode(n1, n2, vt); |
269 case Op_MulVI: return new MulVINode(n1, n2, vt); |
272 case Op_MulVI: return new MulVINode(n1, n2, vt); |
|
273 case Op_MulVL: return new MulVLNode(n1, n2, vt); |
270 case Op_MulVF: return new MulVFNode(n1, n2, vt); |
274 case Op_MulVF: return new MulVFNode(n1, n2, vt); |
271 case Op_MulVD: return new MulVDNode(n1, n2, vt); |
275 case Op_MulVD: return new MulVDNode(n1, n2, vt); |
272 |
276 |
273 case Op_DivVF: return new DivVFNode(n1, n2, vt); |
277 case Op_DivVF: return new DivVFNode(n1, n2, vt); |
274 case Op_DivVD: return new DivVDNode(n1, n2, vt); |
278 case Op_DivVD: return new DivVDNode(n1, n2, vt); |
461 break; |
465 break; |
462 case Op_MulI: |
466 case Op_MulI: |
463 assert(bt == T_INT, "must be"); |
467 assert(bt == T_INT, "must be"); |
464 vopc = Op_MulReductionVI; |
468 vopc = Op_MulReductionVI; |
465 break; |
469 break; |
|
470 case Op_MulL: |
|
471 assert(bt == T_LONG, "must be"); |
|
472 vopc = Op_MulReductionVL; |
|
473 break; |
466 case Op_MulF: |
474 case Op_MulF: |
467 assert(bt == T_FLOAT, "must be"); |
475 assert(bt == T_FLOAT, "must be"); |
468 vopc = Op_MulReductionVF; |
476 vopc = Op_MulReductionVF; |
469 break; |
477 break; |
470 case Op_MulD: |
478 case Op_MulD: |
490 case Op_AddReductionVI: return new AddReductionVINode(ctrl, n1, n2); |
498 case Op_AddReductionVI: return new AddReductionVINode(ctrl, n1, n2); |
491 case Op_AddReductionVL: return new AddReductionVLNode(ctrl, n1, n2); |
499 case Op_AddReductionVL: return new AddReductionVLNode(ctrl, n1, n2); |
492 case Op_AddReductionVF: return new AddReductionVFNode(ctrl, n1, n2); |
500 case Op_AddReductionVF: return new AddReductionVFNode(ctrl, n1, n2); |
493 case Op_AddReductionVD: return new AddReductionVDNode(ctrl, n1, n2); |
501 case Op_AddReductionVD: return new AddReductionVDNode(ctrl, n1, n2); |
494 case Op_MulReductionVI: return new MulReductionVINode(ctrl, n1, n2); |
502 case Op_MulReductionVI: return new MulReductionVINode(ctrl, n1, n2); |
|
503 case Op_MulReductionVL: return new MulReductionVLNode(ctrl, n1, n2); |
495 case Op_MulReductionVF: return new MulReductionVFNode(ctrl, n1, n2); |
504 case Op_MulReductionVF: return new MulReductionVFNode(ctrl, n1, n2); |
496 case Op_MulReductionVD: return new MulReductionVDNode(ctrl, n1, n2); |
505 case Op_MulReductionVD: return new MulReductionVDNode(ctrl, n1, n2); |
497 } |
506 } |
498 fatal(err_msg_res("Missed vector creation for '%s'", NodeClassNames[vopc])); |
507 fatal(err_msg_res("Missed vector creation for '%s'", NodeClassNames[vopc])); |
499 return NULL; |
508 return NULL; |