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,
218 dt_cg_setx(dlp, sreg, size);
220 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
242 dt_cg_field_get(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp,
279 dt_cg_setx(dlp, r2, 64 - shift);
281 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
283 dt_cg_setx(dlp, r2, 64 - e.cte_bits);
285 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
293 dt_cg_setx(dlp, r2, shift);
295 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
297 dt_cg_setx(dlp, r2, (1ULL << e.cte_bits) - 1);
299 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
328 dt_cg_field_set(dt_node_t *src, dt_irlist_t *dlp,
386 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
388 dt_cg_setx(dlp, r2, cmask);
390 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
392 dt_cg_setx(dlp, r2, fmask);
394 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
396 dt_cg_setx(dlp, r3, shift);
398 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
401 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
410 dt_cg_store(dt_node_t *src, dt_irlist_t *dlp, dt_regset_t *drp, dt_node_t *dst)
431 dt_cg_setx(dlp, reg, size);
433 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
437 reg = dt_cg_field_set(src, dlp, drp, dst);
458 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
474 dt_irlist_t *dlp, dt_regset_t *drp)
497 dt_cg_setx(dlp, reg, n);
501 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
506 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
525 dt_irlist_t *dlp, dt_regset_t *drp)
532 dt_cg_node(dnp, dlp, drp);
534 dt_irlist_append(dlp,
546 dt_cg_typecast(dnp, &isp->dis_args[i], dlp, drp);
557 dt_cg_setx(dlp, reg, t.dtdt_size);
562 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
574 dt_cg_arithmetic_op(dt_node_t *dnp, dt_irlist_t *dlp,
590 dt_cg_node(dnp->dn_left, dlp, drp);
592 dt_cg_ptrsize(dnp, dlp, drp, DIF_OP_MUL, dnp->dn_left->dn_reg);
594 dt_cg_node(dnp->dn_right, dlp, drp);
596 dt_cg_ptrsize(dnp, dlp, drp, DIF_OP_MUL, dnp->dn_right->dn_reg);
601 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
607 dlp, drp, DIF_OP_UDIV, dnp->dn_reg);
623 dt_cg_prearith_op(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp, uint_t op)
637 dt_cg_node(dnp->dn_child, dlp, drp);
643 dt_cg_setx(dlp, reg, size);
646 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
662 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
670 dt_cg_node(dnp->dn_child, dlp, drp);
672 dt_cg_store(dnp, dlp, drp, dnp->dn_child);
681 dt_cg_postarith_op(dt_node_t *dnp, dt_irlist_t *dlp,
696 dt_cg_node(dnp->dn_child, dlp, drp);
702 dt_cg_setx(dlp, nreg, size);
704 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
718 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
727 dt_cg_node(dnp->dn_child, dlp, drp);
730 dt_cg_store(dnp, dlp, drp, dnp->dn_child);
764 dt_cg_compare_op(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp, uint_t op)
766 uint_t lbl_true = dt_irlist_label(dlp);
767 uint_t lbl_post = dt_irlist_label(dlp);
772 dt_cg_node(dnp->dn_left, dlp, drp);
773 dt_cg_node(dnp->dn_right, dlp, drp);
781 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
786 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
789 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
792 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
794 dt_cg_xsetx(dlp, NULL, lbl_true, dnp->dn_reg, 1);
795 dt_irlist_append(dlp, dt_cg_node_alloc(lbl_post, DIF_INSTR_NOP));
809 dt_cg_ternary_op(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
811 uint_t lbl_false = dt_irlist_label(dlp);
812 uint_t lbl_post = dt_irlist_label(dlp);
817 dt_cg_node(dnp->dn_expr, dlp, drp);
819 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
823 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
825 dt_cg_node(dnp->dn_left, dlp, drp);
828 dt_irlist_append(dlp, dip);
832 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
834 dt_irlist_append(dlp, dt_cg_node_alloc(lbl_false, DIF_INSTR_NOP));
835 dt_cg_node(dnp->dn_right, dlp, drp);
844 dt_irlist_append(dlp, dt_cg_node_alloc(lbl_post, DIF_INSTR_NOP));
848 dt_cg_logical_and(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
850 uint_t lbl_false = dt_irlist_label(dlp);
851 uint_t lbl_post = dt_irlist_label(dlp);
855 dt_cg_node(dnp->dn_left, dlp, drp);
857 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
861 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
863 dt_cg_node(dnp->dn_right, dlp, drp);
865 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
869 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
871 dt_cg_setx(dlp, dnp->dn_reg, 1);
874 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
877 dt_irlist_append(dlp, dt_cg_node_alloc(lbl_false, instr));
879 dt_irlist_append(dlp, dt_cg_node_alloc(lbl_post, DIF_INSTR_NOP));
883 dt_cg_logical_xor(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
885 uint_t lbl_next = dt_irlist_label(dlp);
886 uint_t lbl_tail = dt_irlist_label(dlp);
890 dt_cg_node(dnp->dn_left, dlp, drp);
892 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
895 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
896 dt_cg_setx(dlp, dnp->dn_left->dn_reg, 1);
898 dt_irlist_append(dlp, dt_cg_node_alloc(lbl_next, DIF_INSTR_NOP));
899 dt_cg_node(dnp->dn_right, dlp, drp);
902 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
905 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
906 dt_cg_setx(dlp, dnp->dn_right->dn_reg, 1);
911 dt_irlist_append(dlp, dt_cg_node_alloc(lbl_tail, instr));
918 dt_cg_logical_or(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
920 uint_t lbl_true = dt_irlist_label(dlp);
921 uint_t lbl_false = dt_irlist_label(dlp);
922 uint_t lbl_post = dt_irlist_label(dlp);
926 dt_cg_node(dnp->dn_left, dlp, drp);
928 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
932 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
934 dt_cg_node(dnp->dn_right, dlp, drp);
936 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
940 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
942 dt_cg_xsetx(dlp, NULL, lbl_true, dnp->dn_reg, 1);
945 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
948 dt_irlist_append(dlp, dt_cg_node_alloc(lbl_false, instr));
950 dt_irlist_append(dlp, dt_cg_node_alloc(lbl_post, DIF_INSTR_NOP));
954 dt_cg_logical_neg(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
956 uint_t lbl_zero = dt_irlist_label(dlp);
957 uint_t lbl_post = dt_irlist_label(dlp);
961 dt_cg_node(dnp->dn_child, dlp, drp);
965 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
968 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
971 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
974 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
976 dt_cg_xsetx(dlp, NULL, lbl_zero, dnp->dn_reg, 1);
977 dt_irlist_append(dlp, dt_cg_node_alloc(lbl_post, DIF_INSTR_NOP));
981 dt_cg_asgn_op(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
1022 dt_cg_setx(dlp, r1,
1026 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1042 dt_cg_node(mnp->dn_membexpr, dlp, drp);
1044 dt_cg_typecast(mnp->dn_membexpr, mnp, dlp, drp);
1074 dt_cg_setx(dlp, r2, ctm.ctm_offset / NBBY);
1076 dt_irlist_append(dlp,
1083 dt_cg_store(mnp, dlp, drp, &dn);
1091 dt_cg_store(mnp, dlp, drp, &dn);
1118 dt_cg_arglist(idp, dnp->dn_left->dn_args, dlp, drp);
1123 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1132 dt_cg_node(dnp->dn_left, dlp, drp);
1133 dt_cg_store(dnp, dlp, drp, dnp->dn_left);
1142 dt_cg_assoc_op(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
1151 dt_cg_arglist(dnp->dn_ident, dnp->dn_args, dlp, drp);
1163 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1192 uint_t label = dt_irlist_label(dlp);
1195 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1198 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1200 dt_cg_setx(dlp, dnp->dn_reg, dt_node_type_size(dnp));
1202 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1206 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1209 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1211 dt_irlist_append(dlp, dt_cg_node_alloc(label, DIF_INSTR_NOP));
1216 dt_cg_array_op(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
1255 dt_cg_node(dnp->dn_args, dlp, drp);
1270 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1295 dt_cg_setx(dlp, reg, n);
1298 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1303 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1320 dt_cg_inline(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
1342 dt_cg_node(inp->din_root, dlp, drp);
1344 dt_cg_typecast(inp->din_root, dnp, dlp, drp);
1355 dt_cg_node(dt_node_t *dnp, dt_irlist_t *dlp, dt_regset_t *drp)
1370 dt_cg_node(dnp->dn_left, dlp, drp);
1372 dt_cg_node(dnp->dn_right, dlp, drp);
1377 dt_cg_node(dnp->dn_right, dlp, drp);
1379 dt_cg_asgn_op(dnp, dlp, drp);
1383 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_ADD);
1384 dt_cg_asgn_op(dnp, dlp, drp);
1388 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_SUB);
1389 dt_cg_asgn_op(dnp, dlp, drp);
1393 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_MUL);
1394 dt_cg_asgn_op(dnp, dlp, drp);
1398 dt_cg_arithmetic_op(dnp, dlp, drp,
1400 dt_cg_asgn_op(dnp, dlp, drp);
1404 dt_cg_arithmetic_op(dnp, dlp, drp,
1406 dt_cg_asgn_op(dnp, dlp, drp);
1410 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_AND);
1411 dt_cg_asgn_op(dnp, dlp, drp);
1415 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_XOR);
1416 dt_cg_asgn_op(dnp, dlp, drp);
1420 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_OR);
1421 dt_cg_asgn_op(dnp, dlp, drp);
1425 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_SLL);
1426 dt_cg_asgn_op(dnp, dlp, drp);
1430 dt_cg_arithmetic_op(dnp, dlp, drp,
1432 dt_cg_asgn_op(dnp, dlp, drp);
1436 dt_cg_ternary_op(dnp, dlp, drp);
1440 dt_cg_logical_or(dnp, dlp, drp);
1444 dt_cg_logical_xor(dnp, dlp, drp);
1448 dt_cg_logical_and(dnp, dlp, drp);
1452 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_OR);
1456 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_XOR);
1460 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_AND);
1464 dt_cg_compare_op(dnp, dlp, drp, DIF_OP_BE);
1468 dt_cg_compare_op(dnp, dlp, drp, DIF_OP_BNE);
1472 dt_cg_compare_op(dnp, dlp, drp,
1477 dt_cg_compare_op(dnp, dlp, drp,
1482 dt_cg_compare_op(dnp, dlp, drp,
1487 dt_cg_compare_op(dnp, dlp, drp,
1492 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_SLL);
1496 dt_cg_arithmetic_op(dnp, dlp, drp,
1501 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_ADD);
1505 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_SUB);
1509 dt_cg_arithmetic_op(dnp, dlp, drp, DIF_OP_MUL);
1513 dt_cg_arithmetic_op(dnp, dlp, drp,
1518 dt_cg_arithmetic_op(dnp, dlp, drp,
1523 dt_cg_logical_neg(dnp, dlp, drp);
1527 dt_cg_node(dnp->dn_child, dlp, drp);
1530 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1534 dt_cg_prearith_op(dnp, dlp, drp, DIF_OP_ADD);
1538 dt_cg_postarith_op(dnp, dlp, drp, DIF_OP_ADD);
1542 dt_cg_prearith_op(dnp, dlp, drp, DIF_OP_SUB);
1546 dt_cg_postarith_op(dnp, dlp, drp, DIF_OP_SUB);
1550 dt_cg_node(dnp->dn_child, dlp, drp);
1555 dt_cg_node(dnp->dn_child, dlp, drp);
1561 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1565 dt_cg_node(dnp->dn_child, dlp, drp);
1585 dt_irlist_append(dlp,
1594 dt_cg_node(dnp->dn_child, dlp, drp);
1609 dt_cg_setx(dlp, dnp->dn_reg, size);
1614 dt_cg_node(dnp->dn_child, dlp, drp);
1638 dt_irlist_append(dlp,
1645 dt_irlist_append(dlp,
1648 dlp->dl_last->di_extern = dnp->dn_xmember;
1653 dt_cg_node(dnp->dn_right, dlp, drp);
1658 dt_cg_node(dnp->dn_right, dlp, drp);
1660 dt_cg_typecast(dnp->dn_right, dnp, dlp, drp);
1666 dt_cg_node(dnp->dn_left, dlp, drp);
1690 dt_cg_node(mnp->dn_membexpr, dlp, drp);
1692 dt_cg_typecast(mnp->dn_membexpr, dnp, dlp, drp);
1725 dt_cg_setx(dlp, reg, m.ctm_offset / NBBY);
1730 dt_irlist_append(dlp,
1753 dt_irlist_append(dlp,
1757 dt_cg_field_get(dnp, dlp, drp, ctfp, &m);
1776 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr));
1792 dt_irlist_append(dlp,
1804 dt_cg_inline(dnp, dlp, drp);
1817 dt_cg_arglist(dnp->dn_ident, dnp->dn_args, dlp, drp);
1825 dt_irlist_append(dlp,
1838 dt_cg_array_op(dnp, dlp, drp);
1844 dt_cg_assoc_op(dnp, dlp, drp);
1846 dt_cg_array_op(dnp, dlp, drp);
1865 dt_irlist_append(dlp,
1884 dt_cg_xsetx(dlp, dnp->dn_ident,
1890 dt_irlist_append(dlp,
1906 dt_cg_setx(dlp, dnp->dn_reg, dnp->dn_value);