Lines Matching refs:file
602 string(FILE *file, const char *string)
604 fputs(string, file);
643 control(FILE *file, const char *name, const char *const ctrl[],
647 fprintf(file, "*** invalid %s value %d ", name, id);
652 string(file, " ");
653 string(file, ctrl[id]);
661 print_opcode(FILE *file, const struct gen_device_info *devinfo,
666 format(file, "*** invalid opcode value %d ", id);
669 string(file, desc->name);
674 reg(FILE *file, unsigned _reg_file, unsigned _reg_nr)
685 string(file, "null");
688 format(file, "a%d", _reg_nr & 0x0f);
691 format(file, "acc%d", _reg_nr & 0x0f);
694 format(file, "f%d", _reg_nr & 0x0f);
697 format(file, "mask%d", _reg_nr & 0x0f);
700 format(file, "msd%d", _reg_nr & 0x0f);
703 format(file, "sr%d", _reg_nr & 0x0f);
706 format(file, "cr%d", _reg_nr & 0x0f);
709 format(file, "n%d", _reg_nr & 0x0f);
712 string(file, "ip");
716 format(file, "tdr0");
719 format(file, "tm%d", _reg_nr & 0x0f);
722 format(file, "ARF%d", _reg_nr);
726 err |= control(file, "src reg file", reg_file, _reg_file, NULL);
727 format(file, "%d", _reg_nr);
733 dest(FILE *file, const struct gen_device_info *devinfo, const brw_inst *inst)
744 err |= reg(file, brw_inst_send_dst_reg_file(devinfo, inst),
748 format(file, ".%u", subreg_nr);
749 string(file, brw_reg_type_to_letters(type));
751 string(file, "g[a0");
753 format(file, ".%"PRIu64, brw_inst_dst_ia_subreg_nr(devinfo, inst) /
756 format(file, " %d", brw_inst_send_dst_ia16_addr_imm(devinfo, inst));
757 string(file, "]<");
758 string(file, brw_reg_type_to_letters(type));
762 err |= reg(file, brw_inst_dst_reg_file(devinfo, inst),
767 format(file, ".%"PRIu64, brw_inst_dst_da1_subreg_nr(devinfo, inst) /
769 string(file, "<");
770 err |= control(file, "horiz stride", horiz_stride,
772 string(file, ">");
773 string(file, brw_reg_type_to_letters(type));
775 string(file, "g[a0");
777 format(file, ".%"PRIu64, brw_inst_dst_ia_subreg_nr(devinfo, inst) /
780 format(file, " %d", brw_inst_dst_ia1_addr_imm(devinfo, inst));
781 string(file, "]<");
782 err |= control(file, "horiz stride", horiz_stride,
784 string(file, ">");
785 string(file, brw_reg_type_to_letters(type));
789 err |= reg(file, brw_inst_dst_reg_file(devinfo, inst),
794 format(file, ".%u", 16 / elem_size);
795 string(file, "<1>");
796 err |= control(file, "writemask", writemask,
798 string(file, brw_reg_type_to_letters(type));
801 string(file, "Indirect align16 address mode not supported");
809 dest_3src(FILE *file, const struct gen_device_info *devinfo, const brw_inst *inst)
824 err |= reg(file, reg_file, brw_inst_3src_dst_reg_nr(devinfo, inst));
838 format(file, ".%u", subreg_nr);
839 string(file, "<1>");
842 err |= control(file, "writemask", writemask,
845 string(file, brw_reg_type_to_letters(type));
851 src_align1_region(FILE *file,
856 string(file, "<");
857 err |= control(file, "vert stride", vert_stride, _vert_stride, NULL);
858 string(file, ",");
859 err |= control(file, "width", width, _width, NULL);
860 string(file, ",");
861 err |= control(file, "horiz_stride", horiz_stride, _horiz_stride, NULL);
862 string(file, ">");
867 src_da1(FILE *file,
878 err |= control(file, "bitnot", m_bitnot, _negate, NULL);
880 err |= control(file, "negate", m_negate, _negate, NULL);
882 err |= control(file, "abs", _abs, __abs, NULL);
884 err |= reg(file, _reg_file, reg_num);
889 format(file, ".%d", sub_reg_num / elem_size); /* use formal style like spec */
891 src_align1_region(file, _vert_stride, _width, _horiz_stride);
892 string(file, brw_reg_type_to_letters(type));
897 src_ia1(FILE *file,
910 err |= control(file, "bitnot", m_bitnot, _negate, NULL);
912 err |= control(file, "negate", m_negate, _negate, NULL);
914 err |= control(file, "abs", _abs, __abs, NULL);
916 string(file, "g[a0");
918 format(file, ".%d", _addr_subreg_nr);
920 format(file, " %d", _addr_imm);
921 string(file, "]");
922 src_align1_region(file, _vert_stride, _width, _horiz_stride);
923 string(file, brw_reg_type_to_letters(type));
928 src_swizzle(FILE *file, unsigned swiz)
937 string(file, ".");
938 err |= control(file, "channel select", chan_sel, x, NULL);
940 string(file, ".");
941 err |= control(file, "channel select", chan_sel, x, NULL);
942 err |= control(file, "channel select", chan_sel, y, NULL);
943 err |= control(file, "channel select", chan_sel, z, NULL);
944 err |= control(file, "channel select", chan_sel, w, NULL);
950 src_da16(FILE *file,
965 err |= control(file, "bitnot", m_bitnot, _negate, NULL);
967 err |= control(file, "negate", m_negate, _negate, NULL);
969 err |= control(file, "abs", _abs, __abs, NULL);
971 err |= reg(file, _reg_file, _reg_nr);
979 format(file, ".%d", 16 / elem_size);
981 string(file, "<");
982 err |= control(file, "vert stride", vert_stride, _vert_stride, NULL);
983 string(file, ">");
984 err |= src_swizzle(file, BRW_SWIZZLE4(swz_x, swz_y, swz_z, swz_w));
985 string(file, brw_reg_type_to_letters(type));
1070 src0_3src(FILE *file, const struct gen_device_info *devinfo, const brw_inst *inst)
1101 format(file, "%dW", imm_val);
1103 format(file, "0x%04xUW", imm_val);
1105 format(file, "%-gF", _mesa_half_to_float(imm_val));
1137 err |= control(file, "negate", m_negate,
1139 err |= control(file, "abs", _abs, brw_inst_3src_src0_abs(devinfo, inst), NULL);
1141 err |= reg(file, _file, reg_nr);
1145 format(file, ".%d", subreg_nr);
1146 src_align1_region(file, _vert_stride, _width, _horiz_stride);
1148 err |= src_swizzle(file, brw_inst_3src_a16_src0_swizzle(devinfo, inst));
1149 string(file, brw_reg_type_to_letters(type));
1154 src1_3src(FILE *file, const struct gen_device_info *devinfo, const brw_inst *inst)
1205 err |= control(file, "negate", m_negate,
1207 err |= control(file, "abs", _abs, brw_inst_3src_src1_abs(devinfo, inst), NULL);
1209 err |= reg(file, _file, reg_nr);
1213 format(file, ".%d", subreg_nr);
1214 src_align1_region(file, _vert_stride, _width, _horiz_stride);
1216 err |= src_swizzle(file, brw_inst_3src_a16_src1_swizzle(devinfo, inst));
1217 string(file, brw_reg_type_to_letters(type));
1222 src2_3src(FILE *file, const struct gen_device_info *devinfo, const brw_inst *inst)
1247 format(file, "%dW", imm_val);
1249 format(file, "0x%04xUW", imm_val);
1251 format(file, "%-gF", _mesa_half_to_float(imm_val));
1287 err |= control(file, "negate", m_negate,
1289 err |= control(file, "abs", _abs, brw_inst_3src_src2_abs(devinfo, inst), NULL);
1291 err |= reg(file, _file, reg_nr);
1295 format(file, ".%d", subreg_nr);
1296 src_align1_region(file, _vert_stride, _width, _horiz_stride);
1298 err |= src_swizzle(file, brw_inst_3src_a16_src2_swizzle(devinfo, inst));
1299 string(file, brw_reg_type_to_letters(type));
1304 imm(FILE *file, const struct gen_device_info *devinfo, enum brw_reg_type type,
1309 format(file, "0x%016"PRIx64"UQ", brw_inst_imm_uq(devinfo, inst));
1312 format(file, "%"PRId64"Q", brw_inst_imm_uq(devinfo, inst));
1315 format(file, "0x%08xUD", brw_inst_imm_ud(devinfo, inst));
1318 format(file, "%dD", brw_inst_imm_d(devinfo, inst));
1321 format(file, "0x%04xUW", (uint16_t) brw_inst_imm_ud(devinfo, inst));
1324 format(file, "%dW", (int16_t) brw_inst_imm_d(devinfo, inst));
1327 format(file, "0x%08xUV", brw_inst_imm_ud(devinfo, inst));
1330 format(file, "0x%"PRIx64"VF", brw_inst_bits(inst, 127, 96));
1331 pad(file, 48);
1332 format(file, "/* [%-gF, %-gF, %-gF, %-gF]VF */",
1339 format(file, "0x%08xV", brw_inst_imm_ud(devinfo, inst));
1342 format(file, "0x%"PRIx64"F", brw_inst_bits(inst, 127, 96));
1343 pad(file, 48);
1344 format(file, " /* %-gF */", brw_inst_imm_f(devinfo, inst));
1347 format(file, "0x%016"PRIx64"DF", brw_inst_bits(inst, 127, 64));
1348 pad(file, 48);
1349 format(file, "/* %-gDF */", brw_inst_imm_df(devinfo, inst));
1352 string(file, "Half Float IMM");
1357 format(file, "*** invalid immediate type %d ", type);
1363 src_sends_da(FILE *file,
1371 err |= reg(file, BRW_GENERAL_REGISTER_FILE, _reg_nr);
1375 format(file, ".1");
1376 string(file, brw_reg_type_to_letters(type));
1382 src_sends_ia(FILE *file,
1388 string(file, "g[a0");
1390 format(file, ".1");
1392 format(file, " %d", _addr_imm);
1393 string(file, "]");
1394 string(file, brw_reg_type_to_letters(type));
1400 src0(FILE *file, const struct gen_device_info *devinfo, const brw_inst *inst)
1404 return src_sends_da(file,
1410 return src_sends_ia(file,
1417 return imm(file, devinfo, brw_inst_src0_type(devinfo, inst), inst);
1420 return src_da1(file,
1433 return src_ia1(file,
1447 return src_da16(file,
1462 string(file, "Indirect align16 address mode not supported");
1469 src1(FILE *file, const struct gen_device_info *devinfo, const brw_inst *inst)
1472 return src_sends_da(file,
1478 return imm(file, devinfo, brw_inst_src1_type(devinfo, inst), inst);
1481 return src_da1(file,
1494 return src_ia1(file,
1508 return src_da16(file,
1523 string(file, "Indirect align16 address mode not supported");
1530 qtr_ctrl(FILE *file, const struct gen_device_info *devinfo, const brw_inst *inst)
1538 format(file, " %dN", qtr_ctl * 2 + nib_ctl + 1);
1542 string(file, " 1Q");
1545 string(file, " 2Q");
1548 string(file, " 3Q");
1551 string(file, " 4Q");
1556 string(file, " 1H");
1558 string(file, " 2H");
1576 brw_disassemble_inst(FILE *file, const struct gen_device_info *devinfo,
1586 string(file, "(");
1587 err |= control(file, "predicate inverse", pred_inv,
1589 format(file, "f%"PRIu64".%"PRIu64,
1593 err |= control(file, "predicate control align1", pred_ctrl_align1,
1596 err |= control(file, "predicate control align16", pred_ctrl_align16,
1599 string(file, ") ");
1602 err |= print_opcode(file, devinfo, opcode);
1603 err |= control(file, "saturate", saturate, brw_inst_saturate(devinfo, inst),
1606 err |= control(file, "debug control", debug_ctrl,
1610 string(file, " ");
1611 err |= control(file, "function", math_function,
1614 err |= control(file, "conditional modifier", conditional_modifier,
1626 format(file, ".f%"PRIu64".%"PRIu64,
1633 string(file, "(");
1634 err |= control(file, "execution size", exec_size,
1636 string(file, ")");
1640 format(file, " %"PRIu64, brw_inst_base_mrf(devinfo, inst));
1644 pad(file, 16);
1645 format(file, "JIP: %d", brw_inst_jip(devinfo, inst));
1646 pad(file, 32);
1647 format(file, "UIP: %d", brw_inst_uip(devinfo, inst));
1649 pad(file, 16);
1651 format(file, "JIP: %d", brw_inst_jip(devinfo, inst));
1653 format(file, "JIP: %d", brw_inst_gen6_jump_count(devinfo, inst));
1658 pad(file, 16);
1659 format(file, "Jump: %d", brw_inst_gen4_jump_count(devinfo, inst));
1660 pad(file, 32);
1661 format(file, "Pop: %"PRIu64, brw_inst_gen4_pop_count(devinfo, inst));
1665 pad(file, 16);
1666 format(file, "Jump: %d", brw_inst_gen4_jump_count(devinfo, inst));
1668 pad(file, 16);
1669 format(file, "Pop: %"PRIu64, brw_inst_gen4_pop_count(devinfo, inst));
1671 pad(file, 16);
1672 err |= src1(file, devinfo, inst);
1674 pad(file, 16);
1675 err |= dest_3src(file, devinfo, inst);
1677 pad(file, 32);
1678 err |= src0_3src(file, devinfo, inst);
1680 pad(file, 48);
1681 err |= src1_3src(file, devinfo, inst);
1683 pad(file, 64);
1684 err |= src2_3src(file, devinfo, inst);
1687 pad(file, 16);
1688 err |= dest(file, devinfo, inst);
1692 pad(file, 32);
1693 err |= src0(file, devinfo, inst);
1697 pad(file, 48);
1698 err |= src1(file, devinfo, inst);
1708 pad(file, 64);
1711 err |= src_sends_ia(file, devinfo, BRW_REGISTER_TYPE_UD, 0, 0);
1715 fprintf(file, "0x%08"PRIx32, imm_desc);
1718 pad(file, 80);
1721 err |= src_sends_ia(file, devinfo, BRW_REGISTER_TYPE_UD, 0,
1726 fprintf(file, "0x%08"PRIx32, imm_ex_desc);
1731 pad(file, 48);
1732 err |= src1(file, devinfo, inst);
1733 pad(file, 64);
1737 pad(file, 48);
1741 fprintf(file, "0x%08"PRIx64, inst->data[1] >> 32);
1744 newline(file);
1745 pad(file, 16);
1748 fprintf(file, " ");
1749 err |= control(file, "SFID", devinfo->gen >= 6 ? gen6_sfid : gen4_sfid,
1751 string(file, " MsgDesc:");
1754 format(file, " indirect");
1758 err |= control(file, "math function", math_function,
1760 err |= control(file, "math saturate", math_saturate,
1762 err |= control(file, "math signed", math_signed,
1764 err |= control(file, "math scalar", math_scalar,
1766 err |= control(file, "math precision", math_precision,
1771 err |= control(file, "sampler message", gen5_sampler_msg_type,
1774 err |= control(file, "sampler simd mode", gen5_sampler_simd_mode,
1777 format(file, " Surface = %u Sampler = %u",
1781 format(file, " (%u, %u, %u, ",
1786 err |= control(file, "sampler target format",
1791 string(file, ")");
1798 format(file, " (%u, %u, %u, %u)",
1806 err |= control(file, "DP read message type",
1812 format(file, " MsgCtrl = 0x%u",
1815 format(file, " Surface = %u",
1824 err |= control(file, "DP rc message type",
1832 err |= control(file, "RT message type", m_rt_write_subtype,
1835 string(file, " Hi");
1837 string(file, " LastRT");
1840 string(file, " WriteCommit");
1842 format(file, " MsgCtrl = 0x%u",
1846 format(file, " Surface = %u",
1854 format(file, " %"PRIu64, brw_inst_urb_global_offset(devinfo, inst));
1858 err |= control(file, "urb opcode",
1865 string(file, " per-slot");
1871 string(file, " masked");
1873 err |= control(file, "urb swizzle", urb_swizzle,
1879 err |= control(file, "urb allocate", urb_allocate,
1881 err |= control(file, "urb used", urb_used,
1885 err |= control(file, "urb complete", urb_complete,
1894 format(file, " (%s)",
1900 format(file, " (");
1902 err |= control(file, "DP DC0 message type",
1906 format(file, ", %u, ",
1911 control(file, "atomic op", aop,
1916 format(file, "%u",
1919 format(file, ")");
1926 format(file, " (");
1930 err |= control(file, "DP DC1 message type",
1934 format(file, ", Surface = %u, ",
1941 format(file, "SIMD%d,", (msg_ctrl & (1 << 4)) ? 8 : 16);
1947 control(file, "atomic op", aop, msg_ctrl & 0xf, &space);
1956 format(file, "SIMD%s, Mask = 0x%x",
1962 format(file, "SIMD%d,", (msg_ctrl & (1 << 4)) ? 8 : 16);
1963 control(file, "atomic float op", aop_float, msg_ctrl & 0xf,
1967 format(file, "0x%x", msg_ctrl);
1969 format(file, ")");
1977 format(file, " (%s, %s, 0x%02"PRIx64")",
1986 format(file, "unsupported shared function ID %d", sfid);
1991 string(file, " ");
1994 format(file, "mlen %u", brw_message_desc_mlen(devinfo, imm_desc));
1996 format(file, " ex_mlen %u",
2000 format(file, " rlen %u", brw_message_desc_rlen(devinfo, imm_desc));
2002 pad(file, 64);
2004 string(file, "{");
2006 err |= control(file, "access mode", access_mode,
2009 err |= control(file, "write enable control", wectrl,
2012 err |= control(file, "mask control", mask_ctrl,
2015 err |= control(file, "dependency control", dep_ctrl,
2020 err |= qtr_ctrl(file, devinfo, inst);
2026 format(file, " compr4");
2028 err |= control(file, "compression control", compr_ctrl,
2033 err |= control(file, "compaction", cmpt_ctrl, is_compacted, &space);
2034 err |= control(file, "thread control", thread_ctrl,
2037 err |= control(file, "branch ctrl", branch_ctrl,
2040 err |= control(file, "acc write control", accwr,
2044 err |= control(file, "end of thread", end_of_thread,
2047 string(file, " ");
2048 string(file, "}");
2050 string(file, ";");
2051 newline(file);