Lines Matching refs:isa

82       struct string __msg = func(isa, inst, ##args); \
93 inst_is_send(const struct brw_isa_info *isa, const brw_inst *inst)
95 switch (brw_inst_opcode(isa, inst)) {
107 inst_is_split_send(const struct brw_isa_info *isa, const brw_inst *inst)
109 const struct intel_device_info *devinfo = isa->devinfo;
112 return inst_is_send(isa, inst);
114 switch (brw_inst_opcode(isa, inst)) {
137 inst_dst_type(const struct brw_isa_info *isa, const brw_inst *inst)
139 const struct intel_device_info *devinfo = isa->devinfo;
141 return (devinfo->ver < 12 || !inst_is_send(isa, inst)) ?
146 inst_is_raw_move(const struct brw_isa_info *isa, const brw_inst *inst)
148 const struct intel_device_info *devinfo = isa->devinfo;
150 unsigned dst_type = signed_type(inst_dst_type(isa, inst));
165 return brw_inst_opcode(isa, inst) == BRW_OPCODE_MOV &&
225 num_sources_from_inst(const struct brw_isa_info *isa,
228 const struct intel_device_info *devinfo = isa->devinfo;
230 brw_opcode_desc(isa, brw_inst_opcode(isa, inst));
233 if (brw_inst_opcode(isa, inst) == BRW_OPCODE_MATH) {
236 brw_inst_opcode(isa, inst) == BRW_OPCODE_SEND) {
281 invalid_values(const struct brw_isa_info *isa, const brw_inst *inst)
283 const struct intel_device_info *devinfo = isa->devinfo;
285 unsigned num_sources = num_sources_from_inst(isa, inst);
301 if (inst_is_send(isa, inst))
353 sources_not_null(const struct brw_isa_info *isa,
356 const struct intel_device_info *devinfo = isa->devinfo;
357 unsigned num_sources = num_sources_from_inst(isa, inst);
369 if (inst_is_split_send(isa, inst))
372 if (num_sources >= 1 && brw_inst_opcode(isa, inst) != BRW_OPCODE_SYNC)
382 alignment_supported(const struct brw_isa_info *isa,
385 const struct intel_device_info *devinfo = isa->devinfo;
395 inst_uses_src_acc(const struct brw_isa_info *isa,
398 const struct intel_device_info *devinfo = isa->devinfo;
401 switch (brw_inst_opcode(isa, inst)) {
411 unsigned num_sources = num_sources_from_inst(isa, inst);
418 send_restrictions(const struct brw_isa_info *isa,
421 const struct intel_device_info *devinfo = isa->devinfo;
425 if (inst_is_split_send(isa, inst)) {
460 } else if (inst_is_send(isa, inst)) {
488 is_unsupported_inst(const struct brw_isa_info *isa,
491 return brw_inst_opcode(isa, inst) == BRW_OPCODE_ILLEGAL;
541 execution_type(const struct brw_isa_info *isa, const brw_inst *inst)
543 const struct intel_device_info *devinfo = isa->devinfo;
545 unsigned num_sources = num_sources_from_inst(isa, inst);
551 enum brw_reg_type dst_exec_type = inst_dst_type(isa, inst);
639 is_half_float_conversion(const struct brw_isa_info *isa,
642 const struct intel_device_info *devinfo = isa->devinfo;
646 unsigned num_sources = num_sources_from_inst(isa, inst);
666 is_mixed_float(const struct brw_isa_info *isa, const brw_inst *inst)
668 const struct intel_device_info *devinfo = isa->devinfo;
673 if (inst_is_send(isa, inst))
676 unsigned opcode = brw_inst_opcode(isa, inst);
677 const struct opcode_desc *desc = brw_opcode_desc(isa, opcode);
682 unsigned num_sources = num_sources_from_inst(isa, inst);
703 is_byte_conversion(const struct brw_isa_info *isa,
706 const struct intel_device_info *devinfo = isa->devinfo;
710 unsigned num_sources = num_sources_from_inst(isa, inst);
730 general_restrictions_based_on_operand_types(const struct brw_isa_info *isa,
733 const struct intel_device_info *devinfo = isa->devinfo;
736 brw_opcode_desc(isa, brw_inst_opcode(isa, inst));
737 unsigned num_sources = num_sources_from_inst(isa, inst);
741 if (inst_is_send(isa, inst))
766 dst_type = inst_dst_type(isa, inst);
835 inst_dst_type(isa, inst) == BRW_REGISTER_TYPE_B ||
836 inst_dst_type(isa, inst) == BRW_REGISTER_TYPE_UB;
840 if (!inst_is_raw_move(isa, inst))
846 unsigned exec_type = execution_type(isa, inst);
858 if (is_byte_conversion(isa, inst)) {
883 if (is_half_float_conversion(isa, inst)) {
959 !(is_mixed_float(isa, inst) &&
973 !is_mixed_float(isa, inst) ||
978 if (!(dst_type_is_byte && inst_is_raw_move(isa, inst))) {
1015 general_restrictions_on_region_parameters(const struct brw_isa_info *isa,
1018 const struct intel_device_info *devinfo = isa->devinfo;
1021 brw_opcode_desc(isa, brw_inst_opcode(isa, inst));
1022 unsigned num_sources = num_sources_from_inst(isa, inst);
1032 if (inst_is_split_send(isa, inst))
1176 special_restrictions_for_mixed_float_mode(const struct brw_isa_info *isa,
1179 const struct intel_device_info *devinfo = isa->devinfo;
1183 const unsigned opcode = brw_inst_opcode(isa, inst);
1184 const unsigned num_sources = num_sources_from_inst(isa, inst);
1188 if (!is_mixed_float(isa, inst))
1283 ERROR_IF(inst_uses_src_acc(isa, inst),
1383 inst_uses_src_acc(isa, inst)) {
1459 region_alignment_rules(const struct brw_isa_info *isa,
1462 const struct intel_device_info *devinfo = isa->devinfo;
1464 brw_opcode_desc(isa, brw_inst_opcode(isa, inst));
1465 unsigned num_sources = num_sources_from_inst(isa, inst);
1476 if (inst_is_send(isa, inst))
1531 enum brw_reg_type dst_type = inst_dst_type(isa, inst);
1617 brw_inst_opcode(isa, inst) == BRW_OPCODE_MATH) {
1738 enum brw_reg_type dst_type = inst_dst_type(isa, inst);
1774 vector_immediate_restrictions(const struct brw_isa_info *isa,
1777 const struct intel_device_info *devinfo = isa->devinfo;
1779 unsigned num_sources = num_sources_from_inst(isa, inst);
1791 enum brw_reg_type dst_type = inst_dst_type(isa, inst);
1838 const struct brw_isa_info *isa,
1841 const struct intel_device_info *devinfo = isa->devinfo;
1843 unsigned num_sources = num_sources_from_inst(isa, inst);
1850 if (inst_is_split_send(isa, inst))
1853 enum brw_reg_type exec_type = execution_type(isa, inst);
1857 enum brw_reg_type dst_type = inst_dst_type(isa, inst);
1866 brw_inst_opcode(isa, inst) == BRW_OPCODE_MUL &&
1966 ERROR_IF(brw_inst_opcode(isa, inst) == BRW_OPCODE_MAC ||
2070 instruction_restrictions(const struct brw_isa_info *isa,
2073 const struct intel_device_info *devinfo = isa->devinfo;
2082 brw_inst_opcode(isa, inst) == BRW_OPCODE_MUL) {
2083 enum brw_reg_type exec_type = execution_type(isa, inst);
2099 if (brw_inst_opcode(isa, inst) == BRW_OPCODE_CMP ||
2100 brw_inst_opcode(isa, inst) == BRW_OPCODE_CMPN) {
2137 if (brw_inst_opcode(isa, inst) == BRW_OPCODE_MATH) {
2160 if (brw_inst_opcode(isa, inst) == BRW_OPCODE_DP4A) {
2176 send_descriptor_restrictions(const struct brw_isa_info *isa,
2179 const struct intel_device_info *devinfo = isa->devinfo;
2182 if (inst_is_split_send(isa, inst)) {
2186 } else if (inst_is_send(isa, inst)) {
2293 brw_validate_instruction(const struct brw_isa_info *isa,
2300 if (is_unsupported_inst(isa, inst)) {
2329 brw_validate_instructions(const struct brw_isa_info *isa,
2333 const struct intel_device_info *devinfo = isa->devinfo;
2345 brw_uncompact_instruction(isa, &uncompacted, compacted);
2349 bool v = brw_validate_instruction(isa, inst, src_offset,