Lines Matching defs:dlp
93 dt_cg_xsetx(dt_irlist_t *dlp, dt_ident_t *idp, uint_t lbl, int reg, uint64_t x)
105 dt_irlist_append(dlp, dt_cg_node_alloc(lbl, instr));
108 dlp->dl_last->di_extern = idp;
112 dt_cg_setx(dt_irlist_t *dlp, int reg, uint64_t x)
114 dt_cg_xsetx(dlp, NULL, DT_LBL_NONE, reg, x);
188 dt_cg_ptrsize(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp,
216 dt_cg_setx(dlp, sreg, size);
218 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
240 dt_cg_field_get(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp,
275 dt_cg_setx(dlp, r2, 64 - shift);
277 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
279 dt_cg_setx(dlp, r2, 64 - e.cte_bits);
281 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
289 dt_cg_setx(dlp, r2, shift);
291 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
293 dt_cg_setx(dlp, r2, (1ULL << e.cte_bits) - 1);
295 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
324 dt_cg_field_set(dt_node_t *src, dt_irlist_t *dlp,
381 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
383 dt_cg_setx(dlp, r2, cmask);
385 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
387 dt_cg_setx(dlp, r2, fmask);
389 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
391 dt_cg_setx(dlp, r3, shift);
393 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
396 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
405 dt_cg_store(dt_node_t *src, dt_irlist_t *dlp, dt_regset_t *drp, dt_node_t *dst)
425 dt_cg_setx(dlp, reg, size);
427 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
431 reg = dt_cg_field_set(src, dlp, drp, dst);
452 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
468 dt_irlist_t *dlp, dt_regset_t *drp)
490 dt_cg_setx(dlp, rg, n);
493 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
498 dt_irlist_append(dlp,
501 dt_cg_setx(dlp, rg, s);
504 dt_irlist_append(dlp,
506 dt_cg_setx(dlp, rg, n - s);
509 dt_irlist_append(dlp,
515 dt_cg_setx(dlp, rg, n);
518 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
522 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
542 dt_irlist_t *dlp, dt_regset_t *drp)
549 dt_cg_node(dnp, dlp, drp);
551 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, DIF_INSTR_FLUSHTS));
562 dt_cg_typecast(dnp, &isp->dis_args[i], dlp, drp);
569 dt_cg_setx(dlp, reg, t.dtdt_size);
579 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
591 dt_cg_arithmetic_op(dt_node_t *dnp, dt_irlist_t *dlp,
607 dt_cg_node(dnp->dn_left, dlp, drp);
609 dt_cg_ptrsize(dnp, dlp, drp, DIF_OP_MUL, dnp->dn_left->dn_reg);
611 dt_cg_node(dnp->dn_right, dlp, drp);
613 dt_cg_ptrsize(dnp, dlp, drp, DIF_OP_MUL, dnp->dn_right->dn_reg);
618 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
624 dlp, drp, DIF_OP_UDIV, dnp->dn_reg);
640 dt_cg_prearith_op(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp, uint_t op)
654 dt_cg_node(dnp->dn_child, dlp, drp);
658 dt_cg_setx(dlp, reg, size);
661 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
677 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
685 dt_cg_node(dnp->dn_child, dlp, drp);
687 dt_cg_store(dnp, dlp, drp, dnp->dn_child);
696 dt_cg_postarith_op(dt_node_t *dnp, dt_irlist_t *dlp,
711 dt_cg_node(dnp->dn_child, dlp, drp);
715 dt_cg_setx(dlp, nreg, size);
717 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
731 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
740 dt_cg_node(dnp->dn_child, dlp, drp);
743 dt_cg_store(dnp, dlp, drp, dnp->dn_child);
777 dt_cg_compare_op(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp, uint_t op)
779 uint_t lbl_true = dt_irlist_label(dlp);
780 uint_t lbl_post = dt_irlist_label(dlp);
785 dt_cg_node(dnp->dn_left, dlp, drp);
786 dt_cg_node(dnp->dn_right, dlp, drp);
794 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
799 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
802 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
805 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
807 dt_cg_xsetx(dlp, NULL, lbl_true, dnp->dn_reg, 1);
808 dt_irlist_append(dlp, dt_cg_node_alloc(lbl_post, DIF_INSTR_NOP));
822 dt_cg_ternary_op(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
824 uint_t lbl_false = dt_irlist_label(dlp);
825 uint_t lbl_post = dt_irlist_label(dlp);
830 dt_cg_node(dnp->dn_expr, dlp, drp);
832 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
836 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
838 dt_cg_node(dnp->dn_left, dlp, drp);
841 dt_irlist_append(dlp, dip);
845 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
847 dt_irlist_append(dlp, dt_cg_node_alloc(lbl_false, DIF_INSTR_NOP));
848 dt_cg_node(dnp->dn_right, dlp, drp);
857 dt_irlist_append(dlp, dt_cg_node_alloc(lbl_post, DIF_INSTR_NOP));
861 dt_cg_logical_and(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
863 uint_t lbl_false = dt_irlist_label(dlp);
864 uint_t lbl_post = dt_irlist_label(dlp);
868 dt_cg_node(dnp->dn_left, dlp, drp);
870 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
874 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
876 dt_cg_node(dnp->dn_right, dlp, drp);
878 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
882 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
884 dt_cg_setx(dlp, dnp->dn_reg, 1);
887 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
890 dt_irlist_append(dlp, dt_cg_node_alloc(lbl_false, instr));
892 dt_irlist_append(dlp, dt_cg_node_alloc(lbl_post, DIF_INSTR_NOP));
896 dt_cg_logical_xor(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
898 uint_t lbl_next = dt_irlist_label(dlp);
899 uint_t lbl_tail = dt_irlist_label(dlp);
903 dt_cg_node(dnp->dn_left, dlp, drp);
905 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
908 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
909 dt_cg_setx(dlp, dnp->dn_left->dn_reg, 1);
911 dt_irlist_append(dlp, dt_cg_node_alloc(lbl_next, DIF_INSTR_NOP));
912 dt_cg_node(dnp->dn_right, dlp, drp);
915 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
918 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
919 dt_cg_setx(dlp, dnp->dn_right->dn_reg, 1);
924 dt_irlist_append(dlp, dt_cg_node_alloc(lbl_tail, instr));
931 dt_cg_logical_or(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
933 uint_t lbl_true = dt_irlist_label(dlp);
934 uint_t lbl_false = dt_irlist_label(dlp);
935 uint_t lbl_post = dt_irlist_label(dlp);
939 dt_cg_node(dnp->dn_left, dlp, drp);
941 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
945 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
947 dt_cg_node(dnp->dn_right, dlp, drp);
949 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
953 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
955 dt_cg_xsetx(dlp, NULL, lbl_true, dnp->dn_reg, 1);
958 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
961 dt_irlist_append(dlp, dt_cg_node_alloc(lbl_false, instr));
963 dt_irlist_append(dlp, dt_cg_node_alloc(lbl_post, DIF_INSTR_NOP));
967 dt_cg_logical_neg(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
969 uint_t lbl_zero = dt_irlist_label(dlp);
970 uint_t lbl_post = dt_irlist_label(dlp);
974 dt_cg_node(dnp->dn_child, dlp, drp);
978 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
981 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
984 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
987 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
989 dt_cg_xsetx(dlp, NULL, lbl_zero, dnp->dn_reg, 1);
990 dt_irlist_append(dlp, dt_cg_node_alloc(lbl_post, DIF_INSTR_NOP));
994 dt_cg_asgn_op(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
1033 dt_cg_setx(dlp, r1,
1037 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1053 dt_cg_node(mnp->dn_membexpr, dlp, drp);
1055 dt_cg_typecast(mnp->dn_membexpr, mnp, dlp, drp);
1084 dt_cg_setx(dlp, r2, ctm.ctm_offset / NBBY);
1086 dt_irlist_append(dlp,
1093 dt_cg_store(mnp, dlp, drp, &dn);
1101 dt_cg_store(mnp, dlp, drp, &dn);
1128 dt_cg_arglist(idp, dnp->dn_left->dn_args, dlp, drp);
1133 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1142 dt_cg_node(dnp->dn_left, dlp, drp);
1143 dt_cg_store(dnp, dlp, drp, dnp->dn_left);
1152 dt_cg_assoc_op(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
1161 dt_cg_arglist(dnp->dn_ident, dnp->dn_args, dlp, drp);
1172 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1201 uint_t label = dt_irlist_label(dlp);
1204 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1207 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1209 dt_cg_setx(dlp, dnp->dn_reg, dt_node_type_size(dnp));
1211 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1215 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1218 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1220 dt_irlist_append(dlp, dt_cg_node_alloc(label, DIF_INSTR_NOP));
1225 dt_cg_array_op(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
1259 dt_cg_node(dnp->dn_args, dlp, drp);
1274 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1297 dt_cg_setx(dlp, reg, n);
1300 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1305 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1322 dt_cg_inline(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
1344 dt_cg_node(inp->din_root, dlp, drp);
1346 dt_cg_typecast(inp->din_root, dnp, dlp, drp);
1370 dt_irlist_t *dlp = dx->dtxl_dlp;
1391 dt_cg_node(mnp->dn_membexpr, dlp, drp);
1401 dt_cg_setx(dlp, reg, off / NBBY);
1403 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1429 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1438 dt_cg_setx(dlp, szreg, size);
1440 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1449 dt_cg_setx(dlp, szreg, size);
1450 dt_irlist_append(dlp,
1454 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1457 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1460 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1462 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1477 dt_cg_xlate_expand(dt_node_t *dnp, dt_ident_t *idp, dt_irlist_t *dlp,
1489 dt_cg_setx(dlp, dreg, size);
1491 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, DIF_INSTR_FLUSHTS));
1494 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1497 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1501 dlm.dtxl_dlp = dlp;
1513 dt_cg_node(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
1527 dt_cg_node(dnp->dn_left, dlp, drp);
1529 dt_cg_node(dnp->dn_right, dlp, drp);
1534 dt_cg_node(dnp->dn_right, dlp, drp);
1536 dt_cg_asgn_op(dnp, dlp, drp);
1540 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_ADD);
1541 dt_cg_asgn_op(dnp, dlp, drp);
1545 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_SUB);
1546 dt_cg_asgn_op(dnp, dlp, drp);
1550 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_MUL);
1551 dt_cg_asgn_op(dnp, dlp, drp);
1555 dt_cg_arithmetic_op(dnp, dlp, drp,
1557 dt_cg_asgn_op(dnp, dlp, drp);
1561 dt_cg_arithmetic_op(dnp, dlp, drp,
1563 dt_cg_asgn_op(dnp, dlp, drp);
1567 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_AND);
1568 dt_cg_asgn_op(dnp, dlp, drp);
1572 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_XOR);
1573 dt_cg_asgn_op(dnp, dlp, drp);
1577 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_OR);
1578 dt_cg_asgn_op(dnp, dlp, drp);
1582 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_SLL);
1583 dt_cg_asgn_op(dnp, dlp, drp);
1587 dt_cg_arithmetic_op(dnp, dlp, drp,
1589 dt_cg_asgn_op(dnp, dlp, drp);
1593 dt_cg_ternary_op(dnp, dlp, drp);
1597 dt_cg_logical_or(dnp, dlp, drp);
1601 dt_cg_logical_xor(dnp, dlp, drp);
1605 dt_cg_logical_and(dnp, dlp, drp);
1609 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_OR);
1613 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_XOR);
1617 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_AND);
1621 dt_cg_compare_op(dnp, dlp, drp, DIF_OP_BE);
1625 dt_cg_compare_op(dnp, dlp, drp, DIF_OP_BNE);
1629 dt_cg_compare_op(dnp, dlp, drp,
1634 dt_cg_compare_op(dnp, dlp, drp,
1639 dt_cg_compare_op(dnp, dlp, drp,
1644 dt_cg_compare_op(dnp, dlp, drp,
1649 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_SLL);
1653 dt_cg_arithmetic_op(dnp, dlp, drp,
1658 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_ADD);
1662 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_SUB);
1666 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_MUL);
1670 dt_cg_arithmetic_op(dnp, dlp, drp,
1675 dt_cg_arithmetic_op(dnp, dlp, drp,
1680 dt_cg_logical_neg(dnp, dlp, drp);
1684 dt_cg_node(dnp->dn_child, dlp, drp);
1687 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1691 dt_cg_prearith_op(dnp, dlp, drp, DIF_OP_ADD);
1695 dt_cg_postarith_op(dnp, dlp, drp, DIF_OP_ADD);
1699 dt_cg_prearith_op(dnp, dlp, drp, DIF_OP_SUB);
1703 dt_cg_postarith_op(dnp, dlp, drp, DIF_OP_SUB);
1707 dt_cg_node(dnp->dn_child, dlp, drp);
1712 dt_cg_node(dnp->dn_child, dlp, drp);
1718 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1722 dt_cg_node(dnp->dn_child, dlp, drp);
1729 reg = dt_cg_xlate_expand(dnp, idp, dlp, drp);
1751 dt_irlist_append(dlp,
1760 dt_cg_node(dnp->dn_child, dlp, drp);
1772 dt_cg_setx(dlp, dnp->dn_reg, size);
1777 dt_cg_node(dnp->dn_child, dlp, drp);
1800 dt_irlist_append(dlp,
1807 dt_irlist_append(dlp,
1810 dlp->dl_last->di_extern = dnp->dn_xmember;
1815 dt_cg_node(dnp->dn_right, dlp, drp);
1820 dt_cg_node(dnp->dn_right, dlp, drp);
1822 dt_cg_typecast(dnp->dn_right, dnp, dlp, drp);
1828 dt_cg_node(dnp->dn_left, dlp, drp);
1852 dt_cg_node(mnp->dn_membexpr, dlp, drp);
1854 dt_cg_typecast(mnp->dn_membexpr, dnp, dlp, drp);
1888 dt_cg_setx(dlp, reg, m.ctm_offset / NBBY);
1893 dt_irlist_append(dlp,
1916 dt_irlist_append(dlp,
1920 dt_cg_field_get(dnp, dlp, drp, ctfp, &m);
1938 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1953 dt_irlist_append(dlp,
1965 dt_cg_inline(dnp, dlp, drp);
1978 dt_cg_arglist(dnp->dn_ident, dnp->dn_args, dlp, drp);
1984 dt_irlist_append(dlp,
1997 dt_cg_array_op(dnp, dlp, drp);
2003 dt_cg_assoc_op(dnp, dlp, drp);
2005 dt_cg_array_op(dnp, dlp, drp);
2023 dt_irlist_append(dlp,
2040 dt_cg_xsetx(dlp, dnp->dn_ident,
2046 dt_irlist_append(dlp,
2060 dt_cg_setx(dlp, dnp->dn_reg, dnp->dn_value);