Lines Matching defs:devinfo

109    const struct intel_device_info *devinfo = isa->devinfo;
111 if (devinfo->ver >= 12) {
139 const struct intel_device_info *devinfo = isa->devinfo;
141 return (devinfo->ver < 12 || !inst_is_send(isa, inst)) ?
142 brw_inst_dst_type(devinfo, inst) : BRW_REGISTER_TYPE_D;
148 const struct intel_device_info *devinfo = isa->devinfo;
151 unsigned src_type = signed_type(brw_inst_src0_type(devinfo, inst));
153 if (brw_inst_src0_reg_file(devinfo, inst) == BRW_IMMEDIATE_VALUE) {
155 if (brw_inst_src0_type(devinfo, inst) == BRW_REGISTER_TYPE_VF ||
156 brw_inst_src0_type(devinfo, inst) == BRW_REGISTER_TYPE_UV ||
157 brw_inst_src0_type(devinfo, inst) == BRW_REGISTER_TYPE_V) {
160 } else if (brw_inst_src0_negate(devinfo, inst) ||
161 brw_inst_src0_abs(devinfo, inst)) {
166 brw_inst_saturate(devinfo, inst) == 0 &&
171 dst_is_null(const struct intel_device_info *devinfo, const brw_inst *inst)
173 return brw_inst_dst_reg_file(devinfo, inst) == BRW_ARCHITECTURE_REGISTER_FILE &&
174 brw_inst_dst_da_reg_nr(devinfo, inst) == BRW_ARF_NULL;
178 src0_is_null(const struct intel_device_info *devinfo, const brw_inst *inst)
180 return brw_inst_src0_address_mode(devinfo, inst) == BRW_ADDRESS_DIRECT &&
181 brw_inst_src0_reg_file(devinfo, inst) == BRW_ARCHITECTURE_REGISTER_FILE &&
182 brw_inst_src0_da_reg_nr(devinfo, inst) == BRW_ARF_NULL;
186 src1_is_null(const struct intel_device_info *devinfo, const brw_inst *inst)
188 return brw_inst_src1_reg_file(devinfo, inst) == BRW_ARCHITECTURE_REGISTER_FILE &&
189 brw_inst_src1_da_reg_nr(devinfo, inst) == BRW_ARF_NULL;
193 src0_is_acc(const struct intel_device_info *devinfo, const brw_inst *inst)
195 return brw_inst_src0_reg_file(devinfo, inst) == BRW_ARCHITECTURE_REGISTER_FILE &&
196 (brw_inst_src0_da_reg_nr(devinfo, inst) & 0xF0) == BRW_ARF_ACCUMULATOR;
200 src1_is_acc(const struct intel_device_info *devinfo, const brw_inst *inst)
202 return brw_inst_src1_reg_file(devinfo, inst) == BRW_ARCHITECTURE_REGISTER_FILE &&
203 (brw_inst_src1_da_reg_nr(devinfo, inst) & 0xF0) == BRW_ARF_ACCUMULATOR;
207 src0_has_scalar_region(const struct intel_device_info *devinfo,
210 return brw_inst_src0_vstride(devinfo, inst) == BRW_VERTICAL_STRIDE_0 &&
211 brw_inst_src0_width(devinfo, inst) == BRW_WIDTH_1 &&
212 brw_inst_src0_hstride(devinfo, inst) == BRW_HORIZONTAL_STRIDE_0;
216 src1_has_scalar_region(const struct intel_device_info *devinfo,
219 return brw_inst_src1_vstride(devinfo, inst) == BRW_VERTICAL_STRIDE_0 &&
220 brw_inst_src1_width(devinfo, inst) == BRW_WIDTH_1 &&
221 brw_inst_src1_hstride(devinfo, inst) == BRW_HORIZONTAL_STRIDE_0;
228 const struct intel_device_info *devinfo = isa->devinfo;
234 math_function = brw_inst_math_function(devinfo, inst);
235 } else if (devinfo->ver < 6 &&
237 if (brw_inst_sfid(devinfo, inst) == BRW_SFID_MATH) {
283 const struct intel_device_info *devinfo = isa->devinfo;
288 switch ((enum brw_execution_size) brw_inst_exec_size(devinfo, inst)) {
311 if (devinfo->ver > 6) {
312 ERROR_IF(brw_inst_dst_reg_file(devinfo, inst) == MRF ||
314 brw_inst_src0_reg_file(devinfo, inst) == MRF) ||
316 brw_inst_src1_reg_file(devinfo, inst) == MRF),
325 if (brw_inst_access_mode(devinfo, inst) == BRW_ALIGN_1) {
326 if (devinfo->ver >= 10) {
327 ERROR_IF(brw_inst_3src_a1_dst_type (devinfo, inst) == INVALID_REG_TYPE ||
328 brw_inst_3src_a1_src0_type(devinfo, inst) == INVALID_REG_TYPE ||
329 brw_inst_3src_a1_src1_type(devinfo, inst) == INVALID_REG_TYPE ||
330 brw_inst_3src_a1_src2_type(devinfo, inst) == INVALID_REG_TYPE,
336 ERROR_IF(brw_inst_3src_a16_dst_type(devinfo, inst) == INVALID_REG_TYPE ||
337 brw_inst_3src_a16_src_type(devinfo, inst) == INVALID_REG_TYPE,
341 ERROR_IF(brw_inst_dst_type (devinfo, inst) == INVALID_REG_TYPE ||
343 brw_inst_src0_type(devinfo, inst) == INVALID_REG_TYPE) ||
345 brw_inst_src1_type(devinfo, inst) == INVALID_REG_TYPE),
356 const struct intel_device_info *devinfo = isa->devinfo;
373 ERROR_IF(src0_is_null(devinfo, inst), "src0 is null");
376 ERROR_IF(src1_is_null(devinfo, inst), "src1 is null");
385 const struct intel_device_info *devinfo = isa->devinfo;
388 ERROR_IF(devinfo->ver >= 11 && brw_inst_access_mode(devinfo, inst) == BRW_ALIGN_16,
398 const struct intel_device_info *devinfo = isa->devinfo;
414 return src0_is_acc(devinfo, inst) || (num_sources > 1 && src1_is_acc(devinfo, inst));
421 const struct intel_device_info *devinfo = isa->devinfo;
426 ERROR_IF(brw_inst_send_src1_reg_file(devinfo, inst) == BRW_ARCHITECTURE_REGISTER_FILE &&
427 brw_inst_send_src1_reg_nr(devinfo, inst) != BRW_ARF_NULL,
430 ERROR_IF(brw_inst_eot(devinfo, inst) &&
431 brw_inst_src0_da_reg_nr(devinfo, inst) < 112,
433 ERROR_IF(brw_inst_eot(devinfo, inst) &&
434 brw_inst_send_src1_reg_file(devinfo, inst) == BRW_GENERAL_REGISTER_FILE &&
435 brw_inst_send_src1_reg_nr(devinfo, inst) < 112,
438 if (brw_inst_send_src0_reg_file(devinfo, inst) == BRW_GENERAL_REGISTER_FILE &&
439 brw_inst_send_src1_reg_file(devinfo, inst) == BRW_GENERAL_REGISTER_FILE) {
442 if (!brw_inst_send_sel_reg32_desc(devinfo, inst)) {
443 const uint32_t desc = brw_inst_send_desc(devinfo, inst);
444 mlen = brw_message_desc_mlen(devinfo, desc);
448 if (!brw_inst_send_sel_reg32_ex_desc(devinfo, inst)) {
449 const uint32_t ex_desc = brw_inst_sends_ex_desc(devinfo, inst);
450 ex_mlen = brw_message_ex_desc_ex_mlen(devinfo, ex_desc);
452 const unsigned src0_reg_nr = brw_inst_src0_da_reg_nr(devinfo, inst);
453 const unsigned src1_reg_nr = brw_inst_send_src1_reg_nr(devinfo, inst);
461 ERROR_IF(brw_inst_src0_address_mode(devinfo, inst) != BRW_ADDRESS_DIRECT,
464 if (devinfo->ver >= 7) {
465 ERROR_IF(brw_inst_send_src0_reg_file(devinfo, inst) != BRW_GENERAL_REGISTER_FILE,
467 ERROR_IF(brw_inst_eot(devinfo, inst) &&
468 brw_inst_src0_da_reg_nr(devinfo, inst) < 112,
472 if (devinfo->ver >= 8) {
473 ERROR_IF(!dst_is_null(devinfo, inst) &&
474 (brw_inst_dst_da_reg_nr(devinfo, inst) +
475 brw_inst_rlen(devinfo, inst) > 127) &&
476 (brw_inst_src0_da_reg_nr(devinfo, inst) +
477 brw_inst_mlen(devinfo, inst) >
478 brw_inst_dst_da_reg_nr(devinfo, inst)),
543 const struct intel_device_info *devinfo = isa->devinfo;
553 src0_exec_type = execution_type_for_type(brw_inst_src0_type(devinfo, inst));
560 src1_exec_type = execution_type_for_type(brw_inst_src1_type(devinfo, inst));
577 if (devinfo->ver < 6 &&
642 const struct intel_device_info *devinfo = isa->devinfo;
644 enum brw_reg_type dst_type = brw_inst_dst_type(devinfo, inst);
647 enum brw_reg_type src0_type = brw_inst_src0_type(devinfo, inst);
653 enum brw_reg_type src1_type = brw_inst_src1_type(devinfo, inst);
668 const struct intel_device_info *devinfo = isa->devinfo;
670 if (devinfo->ver < 8)
685 enum brw_reg_type dst_type = brw_inst_dst_type(devinfo, inst);
686 enum brw_reg_type src0_type = brw_inst_src0_type(devinfo, inst);
691 enum brw_reg_type src1_type = brw_inst_src1_type(devinfo, inst);
706 const struct intel_device_info *devinfo = isa->devinfo;
708 enum brw_reg_type dst_type = brw_inst_dst_type(devinfo, inst);
711 enum brw_reg_type src0_type = brw_inst_src0_type(devinfo, inst);
717 enum brw_reg_type src1_type = brw_inst_src1_type(devinfo, inst);
733 const struct intel_device_info *devinfo = isa->devinfo;
738 unsigned exec_size = 1 << brw_inst_exec_size(devinfo, inst);
744 if (devinfo->ver >= 11) {
746 ERROR_IF(brw_reg_type_to_size(brw_inst_3src_a1_src1_type(devinfo, inst)) == 1 ||
747 brw_reg_type_to_size(brw_inst_3src_a1_src2_type(devinfo, inst)) == 1,
752 ERROR_IF(brw_reg_type_to_size(brw_inst_src1_type(devinfo, inst)) == 1,
761 if (brw_inst_access_mode(devinfo, inst) == BRW_ALIGN_1)
762 dst_type = brw_inst_3src_a1_dst_type(devinfo, inst);
764 dst_type = brw_inst_3src_a16_dst_type(devinfo, inst);
770 !devinfo->has_64bit_float,
775 !devinfo->has_64bit_int,
781 if (brw_inst_access_mode(devinfo, inst) == BRW_ALIGN_1) {
783 case 0: src_type = brw_inst_3src_a1_src0_type(devinfo, inst); break;
784 case 1: src_type = brw_inst_3src_a1_src1_type(devinfo, inst); break;
785 case 2: src_type = brw_inst_3src_a1_src2_type(devinfo, inst); break;
789 src_type = brw_inst_3src_a16_src_type(devinfo, inst);
793 case 0: src_type = brw_inst_src0_type(devinfo, inst); break;
794 case 1: src_type = brw_inst_src1_type(devinfo, inst); break;
800 !devinfo->has_64bit_float,
805 !devinfo->has_64bit_int,
833 unsigned dst_stride = STRIDE(brw_inst_dst_hstride(devinfo, inst));
854 if (devinfo->verx10 == 70 &&
868 enum brw_reg_type src0_type = brw_inst_src0_type(devinfo, inst);
870 brw_inst_src1_type(devinfo, inst) : 0;
896 enum brw_reg_type src0_type = brw_inst_src0_type(devinfo, inst);
898 brw_inst_src1_type(devinfo, inst) : 0;
939 if (brw_inst_access_mode(devinfo, inst) == BRW_ALIGN_1) {
950 unsigned subreg = brw_inst_dst_da1_subreg_nr(devinfo, inst);
954 } else if ((devinfo->platform == INTEL_PLATFORM_CHV ||
955 devinfo->ver >= 9) &&
957 unsigned subreg = brw_inst_dst_da1_subreg_nr(devinfo, inst);
974 !(devinfo->platform == INTEL_PLATFORM_CHV || devinfo->ver >= 9);
984 unsigned subreg = brw_inst_dst_da1_subreg_nr(devinfo, inst);
986 if (brw_inst_access_mode(devinfo, inst) == BRW_ALIGN_1 &&
987 brw_inst_dst_address_mode(devinfo, inst) == BRW_ADDRESS_DIRECT) {
993 if (devinfo->verx10 >= 45 && dst_type_is_byte) {
1018 const struct intel_device_info *devinfo = isa->devinfo;
1023 unsigned exec_size = 1 << brw_inst_exec_size(devinfo, inst);
1035 if (brw_inst_access_mode(devinfo, inst) == BRW_ALIGN_16) {
1036 if (desc->ndst != 0 && !dst_is_null(devinfo, inst))
1037 ERROR_IF(brw_inst_dst_hstride(devinfo, inst) != BRW_HORIZONTAL_STRIDE_1,
1041 if (devinfo->verx10 >= 75) {
1042 ERROR_IF(brw_inst_src0_reg_file(devinfo, inst) != BRW_IMMEDIATE_VALUE &&
1043 brw_inst_src0_vstride(devinfo, inst) != BRW_VERTICAL_STRIDE_0 &&
1044 brw_inst_src0_vstride(devinfo, inst) != BRW_VERTICAL_STRIDE_2 &&
1045 brw_inst_src0_vstride(devinfo, inst) != BRW_VERTICAL_STRIDE_4,
1048 ERROR_IF(brw_inst_src0_reg_file(devinfo, inst) != BRW_IMMEDIATE_VALUE &&
1049 brw_inst_src0_vstride(devinfo, inst) != BRW_VERTICAL_STRIDE_0 &&
1050 brw_inst_src0_vstride(devinfo, inst) != BRW_VERTICAL_STRIDE_4,
1056 if (devinfo->verx10 >= 75) {
1057 ERROR_IF(brw_inst_src1_reg_file(devinfo, inst) != BRW_IMMEDIATE_VALUE &&
1058 brw_inst_src1_vstride(devinfo, inst) != BRW_VERTICAL_STRIDE_0 &&
1059 brw_inst_src1_vstride(devinfo, inst) != BRW_VERTICAL_STRIDE_2 &&
1060 brw_inst_src1_vstride(devinfo, inst) != BRW_VERTICAL_STRIDE_4,
1063 ERROR_IF(brw_inst_src1_reg_file(devinfo, inst) != BRW_IMMEDIATE_VALUE &&
1064 brw_inst_src1_vstride(devinfo, inst) != BRW_VERTICAL_STRIDE_0 &&
1065 brw_inst_src1_vstride(devinfo, inst) != BRW_VERTICAL_STRIDE_4,
1078 if (brw_inst_src ## n ## _reg_file(devinfo, inst) == \
1082 vstride = STRIDE(brw_inst_src ## n ## _vstride(devinfo, inst)); \
1083 width = WIDTH(brw_inst_src ## n ## _width(devinfo, inst)); \
1084 hstride = STRIDE(brw_inst_src ## n ## _hstride(devinfo, inst)); \
1085 type = brw_inst_src ## n ## _type(devinfo, inst); \
1087 subreg = brw_inst_src ## n ## _da1_subreg_nr(devinfo, inst)
1100 if (devinfo->verx10 == 70 &&
1167 if (desc->ndst != 0 && !dst_is_null(devinfo, inst)) {
1168 ERROR_IF(brw_inst_dst_hstride(devinfo, inst) == BRW_HORIZONTAL_STRIDE_0,
1179 const struct intel_device_info *devinfo = isa->devinfo;
1191 unsigned exec_size = 1 << brw_inst_exec_size(devinfo, inst);
1192 bool is_align16 = brw_inst_access_mode(devinfo, inst) == BRW_ALIGN_16;
1194 enum brw_reg_type src0_type = brw_inst_src0_type(devinfo, inst);
1196 brw_inst_src1_type(devinfo, inst) : 0;
1197 enum brw_reg_type dst_type = brw_inst_dst_type(devinfo, inst);
1199 unsigned dst_stride = STRIDE(brw_inst_dst_hstride(devinfo, inst));
1208 ERROR_IF(brw_inst_src0_address_mode(devinfo, inst) != BRW_ADDRESS_DIRECT ||
1210 brw_inst_src1_address_mode(devinfo, inst) != BRW_ADDRESS_DIRECT),
1236 ERROR_IF(brw_inst_src0_vstride(devinfo, inst) != BRW_VERTICAL_STRIDE_4,
1240 brw_inst_src1_vstride(devinfo, inst) != BRW_VERTICAL_STRIDE_4,
1307 ERROR_IF(STRIDE(brw_inst_src0_hstride(devinfo, inst)) <= 1,
1312 ERROR_IF(STRIDE(brw_inst_src1_hstride(devinfo, inst)) <= 1,
1330 if (brw_inst_dst_address_mode(devinfo, inst) == BRW_ADDRESS_DIRECT)
1331 subreg = brw_inst_dst_da1_subreg_nr(devinfo, inst);
1333 subreg = brw_inst_dst_ia_subreg_nr(devinfo, inst);
1351 if (src0_is_acc(devinfo, inst) &&
1354 ERROR_IF(brw_inst_src0_da1_subreg_nr(devinfo, inst) != 0,
1361 src1_is_acc(devinfo, inst) &&
1364 ERROR_IF(brw_inst_src1_da1_subreg_nr(devinfo, inst) != 0,
1462 const struct intel_device_info *devinfo = isa->devinfo;
1466 unsigned exec_size = 1 << brw_inst_exec_size(devinfo, inst);
1473 if (brw_inst_access_mode(devinfo, inst) == BRW_ALIGN_16)
1492 if (brw_inst_src ## n ## _address_mode(devinfo, inst) != \
1496 if (brw_inst_src ## n ## _reg_file(devinfo, inst) == \
1500 vstride = STRIDE(brw_inst_src ## n ## _vstride(devinfo, inst)); \
1501 width = WIDTH(brw_inst_src ## n ## _width(devinfo, inst)); \
1502 hstride = STRIDE(brw_inst_src ## n ## _hstride(devinfo, inst)); \
1503 type = brw_inst_src ## n ## _type(devinfo, inst); \
1505 subreg = brw_inst_src ## n ## _da1_subreg_nr(devinfo, inst); \
1527 if (desc->ndst == 0 || dst_is_null(devinfo, inst))
1530 unsigned stride = STRIDE(brw_inst_dst_hstride(devinfo, inst));
1533 unsigned subreg = brw_inst_dst_da1_subreg_nr(devinfo, inst);
1545 if (devinfo->verx10 == 70 &&
1572 if (devinfo->ver <= 8) {
1616 if (devinfo->ver <= 8 ||
1672 if (devinfo->ver <= 7 && dst_regs == 2) {
1688 brw_inst_src ## n ## _da1_subreg_nr(devinfo, inst); \
1737 if (devinfo->ver <= 7 && dst_regs == 2) {
1746 vstride = STRIDE(brw_inst_src ## n ## _vstride(devinfo, inst)); \
1747 width = WIDTH(brw_inst_src ## n ## _width(devinfo, inst)); \
1748 hstride = STRIDE(brw_inst_src ## n ## _hstride(devinfo, inst)); \
1751 (brw_inst_src ## n ## _type(devinfo, inst) == BRW_REGISTER_TYPE_W || \
1752 brw_inst_src ## n ## _type(devinfo, inst) == BRW_REGISTER_TYPE_UW); \
1755 !src ## n ## _has_scalar_region(devinfo, inst) && \
1777 const struct intel_device_info *devinfo = isa->devinfo;
1786 brw_inst_src0_reg_file(devinfo, inst) :
1787 brw_inst_src1_reg_file(devinfo, inst);
1793 unsigned dst_subreg = brw_inst_access_mode(devinfo, inst) == BRW_ALIGN_1 ?
1794 brw_inst_dst_da1_subreg_nr(devinfo, inst) : 0;
1795 unsigned dst_stride = STRIDE(brw_inst_dst_hstride(devinfo, inst));
1797 brw_inst_src0_type(devinfo, inst) :
1798 brw_inst_src1_type(devinfo, inst);
1841 const struct intel_device_info *devinfo = isa->devinfo;
1856 enum brw_reg_file dst_file = brw_inst_dst_reg_file(devinfo, inst);
1859 unsigned dst_hstride = STRIDE(brw_inst_dst_hstride(devinfo, inst));
1860 unsigned dst_reg = brw_inst_dst_da_reg_nr(devinfo, inst);
1861 unsigned dst_subreg = brw_inst_dst_da1_subreg_nr(devinfo, inst);
1862 unsigned dst_address_mode = brw_inst_dst_address_mode(devinfo, inst);
1865 devinfo->ver >= 8 &&
1867 (brw_inst_src0_type(devinfo, inst) == BRW_REGISTER_TYPE_D ||
1868 brw_inst_src0_type(devinfo, inst) == BRW_REGISTER_TYPE_UD) &&
1869 (brw_inst_src1_type(devinfo, inst) == BRW_REGISTER_TYPE_D ||
1870 brw_inst_src1_type(devinfo, inst) == BRW_REGISTER_TYPE_UD);
1882 if (brw_inst_src ## n ## _reg_file(devinfo, inst) == \
1886 is_scalar_region = src ## n ## _has_scalar_region(devinfo, inst); \
1887 vstride = STRIDE(brw_inst_src ## n ## _vstride(devinfo, inst)); \
1888 width = WIDTH(brw_inst_src ## n ## _width(devinfo, inst)); \
1889 hstride = STRIDE(brw_inst_src ## n ## _hstride(devinfo, inst)); \
1890 file = brw_inst_src ## n ## _reg_file(devinfo, inst); \
1891 type = brw_inst_src ## n ## _type(devinfo, inst); \
1893 reg = brw_inst_src ## n ## _da_reg_nr(devinfo, inst); \
1894 subreg = brw_inst_src ## n ## _da1_subreg_nr(devinfo, inst); \
1895 address_mode = brw_inst_src ## n ## _address_mode(devinfo, inst)
1921 brw_inst_access_mode(devinfo, inst) == BRW_ALIGN_1 &&
1922 (devinfo->platform == INTEL_PLATFORM_CHV || intel_device_info_is_9lp(devinfo))) {
1947 (devinfo->platform == INTEL_PLATFORM_CHV || intel_device_info_is_9lp(devinfo))) {
1964 (devinfo->platform == INTEL_PLATFORM_CHV ||
1965 intel_device_info_is_9lp(devinfo))) {
1967 brw_inst_acc_wr_control(devinfo, inst) ||
1995 if (devinfo->verx10 >= 125 &&
2021 if (devinfo->verx10 >= 125 &&
2037 if (is_double_precision && devinfo->ver >= 8) {
2038 enum brw_reg_type src0_type = brw_inst_src0_type(devinfo, inst);
2040 num_sources > 1 ? brw_inst_src1_type(devinfo, inst) : src0_type;
2044 ERROR_IF(brw_inst_access_mode(devinfo, inst) == BRW_ALIGN_16 &&
2047 brw_inst_exec_size(devinfo, inst) > BRW_EXECUTE_2,
2060 (devinfo->platform == INTEL_PLATFORM_CHV || intel_device_info_is_9lp(devinfo))) {
2061 ERROR_IF(brw_inst_no_dd_check(devinfo, inst) ||
2062 brw_inst_no_dd_clear(devinfo, inst),
2073 const struct intel_device_info *devinfo = isa->devinfo;
2081 if (devinfo->ver >= 12 &&
2084 const bool src0_valid = type_sz(brw_inst_src0_type(devinfo, inst)) == 4 ||
2085 brw_inst_src0_reg_file(devinfo, inst) == BRW_IMMEDIATE_VALUE ||
2086 !(brw_inst_src0_negate(devinfo, inst) ||
2087 brw_inst_src0_abs(devinfo, inst));
2088 const bool src1_valid = type_sz(brw_inst_src1_type(devinfo, inst)) == 4 ||
2089 brw_inst_src1_reg_file(devinfo, inst) == BRW_IMMEDIATE_VALUE ||
2090 !(brw_inst_src1_negate(devinfo, inst) ||
2091 brw_inst_src1_abs(devinfo, inst));
2101 if (devinfo->ver <= 7) {
2116 ERROR_IF(brw_inst_dst_reg_file(devinfo, inst) == BRW_ARCHITECTURE_REGISTER_FILE &&
2117 brw_inst_dst_da_reg_nr(devinfo, inst) != BRW_ARF_NULL,
2129 if (devinfo->ver == 7) {
2130 ERROR_IF(dst_is_null(devinfo, inst) &&
2131 brw_inst_thread_control(devinfo, inst) != BRW_THREAD_SWITCH,
2138 unsigned math_function = brw_inst_math_function(devinfo, inst);
2147 bool src0_valid = !brw_inst_src0_negate(devinfo, inst) &&
2148 !brw_inst_src0_abs(devinfo, inst);
2149 bool src1_valid = !brw_inst_src1_negate(devinfo, inst) &&
2150 !brw_inst_src1_abs(devinfo, inst);
2166 ERROR_IF(src0_is_acc(devinfo, inst) && src1_is_acc(devinfo, inst),
2179 const struct intel_device_info *devinfo = isa->devinfo;
2184 if (brw_inst_send_sel_reg32_desc(devinfo, inst))
2188 if (brw_inst_src1_reg_file(devinfo, inst) != BRW_IMMEDIATE_VALUE)
2194 const uint32_t desc = brw_inst_send_desc(devinfo, inst);
2196 switch (brw_inst_sfid(devinfo, inst)) {
2200 ERROR_IF(!devinfo->has_lsc, "Platform does not support LSC");
2202 ERROR_IF(lsc_opcode_has_transpose(lsc_msg_desc_opcode(devinfo, desc)) &&
2203 lsc_msg_desc_transpose(devinfo, desc) &&
2204 brw_inst_exec_size(devinfo, inst) != BRW_EXECUTE_1,
2212 if (brw_inst_sfid(devinfo, inst) == BRW_SFID_URB) {
2214 ERROR_IF(devinfo->ver > 4 && !brw_inst_header_present(devinfo, inst),
2217 switch (brw_inst_urb_opcode(devinfo, inst)) {
2226 if (devinfo->ver == 5 || devinfo->ver == 6) {
2227 ERROR_IF(brw_inst_urb_global_offset(devinfo, inst) != 0,
2229 ERROR_IF(brw_inst_urb_swizzle_control(devinfo, inst) != 0,
2231 ERROR_IF(brw_inst_urb_used(devinfo, inst) != 0,
2233 ERROR_IF(brw_inst_urb_complete(devinfo, inst) != 0,
2242 ERROR_IF((unsigned)brw_inst_rlen(devinfo, inst) > 1,
2245 ERROR_IF(devinfo->ver < 7,
2252 ERROR_IF(devinfo->ver < 7,
2258 ERROR_IF(devinfo->ver < 7,
2264 ERROR_IF(devinfo->verx10 < 75,
2269 ERROR_IF(brw_inst_rlen(devinfo, inst) == 0,
2274 ERROR_IF(devinfo->ver < 8,
2279 ERROR_IF(devinfo->verx10 < 125,
2333 const struct intel_device_info *devinfo = isa->devinfo;
2338 bool is_compact = brw_inst_cmpt_control(devinfo, inst);