Lines Matching refs:inst
51 static inline uint64_t brw_inst_bits(const brw_inst *inst,
53 static inline void brw_inst_set_bits(brw_inst *inst,
60 brw_inst *inst, uint64_t v) \
64 brw_inst_set_bits(inst, hi12, lo12, v); \
66 brw_inst_set_bits(inst, hi4, lo4, v); \
70 const brw_inst *inst) \
74 return brw_inst_bits(inst, hi12, lo12); \
76 return brw_inst_bits(inst, hi4, lo4); \
112 brw_inst *inst, uint64_t value) \
116 brw_inst_set_bits(inst, high, low, value); \
119 brw_inst_##name(const struct intel_device_info *devinfo, const brw_inst *inst)\
123 return brw_inst_bits(inst, high, low); \
145 brw_inst *inst, uint64_t value) \
151 brw_inst_set_bits(inst, hi12ex, lo12ex, value >> k); \
152 brw_inst_set_bits(inst, hi12, lo12, value & ((1ull << k) - 1)); \
156 brw_inst_set_bits(inst, high, low, value); \
160 brw_inst_##name(const struct intel_device_info *devinfo, const brw_inst *inst)\
166 brw_inst_bits(inst, hi12ex, lo12ex) << k) | \
167 brw_inst_bits(inst, hi12, lo12); \
171 return brw_inst_bits(inst, high, low); \
195 brw_inst *inst, uint64_t value) \
198 brw_inst_set_bits(inst, hi12, hi12, value >> 1); \
200 brw_inst_set_bits(inst, lo12, lo12, value & 1); \
204 brw_inst_set_bits(inst, high, low, value); \
208 brw_inst_##name(const struct intel_device_info *devinfo, const brw_inst *inst)\
211 return (brw_inst_bits(inst, hi12, hi12) << 1) | \
212 (brw_inst_bits(inst, hi12, hi12) == 0 ? \
213 brw_inst_bits(inst, lo12, lo12) : 1); \
217 return brw_inst_bits(inst, high, low); \
227 brw_inst *inst, uint64_t v) \
232 brw_inst_set_bits(inst, hi4, lo4, v); \
236 const brw_inst *inst) \
241 return brw_inst_bits(inst, hi4, lo4); \
385 brw_inst *inst, enum brw_reg_type type) \
388 brw_inst_set_3src_a16_##reg##_hw_type(devinfo, inst, hw_type); \
393 const brw_inst *inst) \
395 unsigned hw_type = brw_inst_3src_a16_##reg##_hw_type(devinfo, inst); \
447 brw_inst *inst, enum brw_reg_type type) \
451 inst); \
458 brw_inst_set_3src_a1_##reg##_hw_type(devinfo, inst, hw_type); \
463 const brw_inst *inst) \
467 inst); \
468 unsigned hw_type = brw_inst_3src_a1_##reg##_hw_type(devinfo, inst); \
533 brw_inst *inst, int32_t value)
538 brw_inst_set_src1_is_imm(devinfo, inst, 1);
541 brw_inst_set_bits(inst, 95, 64, (uint32_t)value);
545 brw_inst_set_bits(inst, 127, 112, (uint16_t)value);
550 brw_inst_uip(const struct intel_device_info *devinfo, const brw_inst *inst)
555 return brw_inst_bits(inst, 95, 64);
557 return (int16_t)brw_inst_bits(inst, 127, 112);
563 brw_inst *inst, int32_t value)
568 brw_inst_set_src0_is_imm(devinfo, inst, 1);
571 brw_inst_set_bits(inst, 127, 96, (uint32_t)value);
575 brw_inst_set_bits(inst, 111, 96, (uint16_t)value);
580 brw_inst_jip(const struct intel_device_info *devinfo, const brw_inst *inst)
585 return brw_inst_bits(inst, 127, 96);
587 return (int16_t)brw_inst_bits(inst, 111, 96);
594 brw_inst_set_##name(const struct intel_device_info *devinfo, brw_inst *inst, int16_t v) \
598 brw_inst_set_bits(inst, high, low, (uint16_t) v); \
601 brw_inst_##name(const struct intel_device_info *devinfo, const brw_inst *inst)\
605 return brw_inst_bits(inst, high, low); \
646 brw_inst *inst, uint32_t value)
649 brw_inst_set_bits(inst, 123, 122, GET_BITS(value, 31, 30));
650 brw_inst_set_bits(inst, 71, 67, GET_BITS(value, 29, 25));
651 brw_inst_set_bits(inst, 55, 51, GET_BITS(value, 24, 20));
652 brw_inst_set_bits(inst, 121, 113, GET_BITS(value, 19, 11));
653 brw_inst_set_bits(inst, 91, 81, GET_BITS(value, 10, 0));
655 brw_inst_set_bits(inst, 126, 96, value);
658 brw_inst_set_bits(inst, 124, 96, value);
661 brw_inst_set_bits(inst, 119, 96, value);
673 const brw_inst *inst)
676 return (brw_inst_bits(inst, 123, 122) << 30 |
677 brw_inst_bits(inst, 71, 67) << 25 |
678 brw_inst_bits(inst, 55, 51) << 20 |
679 brw_inst_bits(inst, 121, 113) << 11 |
680 brw_inst_bits(inst, 91, 81));
682 return brw_inst_bits(inst, 126, 96);
684 return brw_inst_bits(inst, 124, 96);
686 return brw_inst_bits(inst, 119, 96);
701 brw_inst *inst, uint32_t value)
704 brw_inst_set_bits(inst, 127, 124, GET_BITS(value, 31, 28));
705 brw_inst_set_bits(inst, 97, 96, GET_BITS(value, 27, 26));
706 brw_inst_set_bits(inst, 65, 64, GET_BITS(value, 25, 24));
707 brw_inst_set_bits(inst, 47, 35, GET_BITS(value, 23, 11));
708 brw_inst_set_bits(inst, 103, 99, GET_BITS(value, 10, 6));
712 brw_inst_set_bits(inst, 94, 91, GET_BITS(value, 31, 28));
713 brw_inst_set_bits(inst, 88, 85, GET_BITS(value, 27, 24));
714 brw_inst_set_bits(inst, 83, 80, GET_BITS(value, 23, 20));
715 brw_inst_set_bits(inst, 67, 64, GET_BITS(value, 19, 16));
731 brw_inst *inst, uint32_t value)
734 brw_inst_set_send_ex_desc(devinfo, inst, value);
736 brw_inst_set_bits(inst, 95, 80, GET_BITS(value, 31, 16));
738 brw_inst_set_bits(inst, 67, 64, GET_BITS(value, 9, 6));
750 const brw_inst *inst)
753 return (brw_inst_bits(inst, 127, 124) << 28 |
754 brw_inst_bits(inst, 97, 96) << 26 |
755 brw_inst_bits(inst, 65, 64) << 24 |
756 brw_inst_bits(inst, 47, 35) << 11 |
757 brw_inst_bits(inst, 103, 99) << 6);
760 return (brw_inst_bits(inst, 94, 91) << 28 |
761 brw_inst_bits(inst, 88, 85) << 24 |
762 brw_inst_bits(inst, 83, 80) << 20 |
763 brw_inst_bits(inst, 67, 64) << 16);
774 const brw_inst *inst)
777 return brw_inst_send_ex_desc(devinfo, inst);
779 return (brw_inst_bits(inst, 95, 80) << 16 |
780 brw_inst_bits(inst, 67, 64) << 6);
1169 brw_inst *inst, enum brw_reg_file file, \
1174 brw_inst_set_##reg##_reg_file(devinfo, inst, file); \
1175 brw_inst_set_##reg##_reg_hw_type(devinfo, inst, hw_type); \
1180 const brw_inst *inst) \
1184 brw_inst_##reg##_reg_file(devinfo, inst); \
1185 unsigned hw_type = brw_inst_##reg##_reg_hw_type(devinfo, inst); \
1201 brw_inst *inst, \
1206 brw_inst_set_bits(inst, g12_high, g12_low, value); \
1208 brw_inst_set_bits(inst, g8_high, g8_low, value & 0x1ff); \
1209 brw_inst_set_bits(inst, g8_nine, g8_nine, value >> 9); \
1211 brw_inst_set_bits(inst, g4_high, g4_low, value); \
1216 const brw_inst *inst) \
1219 return brw_inst_bits(inst, g12_high, g12_low); \
1221 return brw_inst_bits(inst, g8_high, g8_low) | \
1222 (brw_inst_bits(inst, g8_nine, g8_nine) << 9); \
1224 return brw_inst_bits(inst, g4_high, g4_low); \
1238 brw_inst *inst, unsigned value) \
1244 brw_inst_set_bits(inst, g8_high, g8_low, GET_BITS(value, 8, 4)); \
1245 brw_inst_set_bits(inst, g8_nine, g8_nine, GET_BITS(value, 9, 9)); \
1247 brw_inst_set_bits(inst, g4_high, g4_low, value); \
1252 const brw_inst *inst) \
1256 return (brw_inst_bits(inst, g8_high, g8_low) << 4) | \
1257 (brw_inst_bits(inst, g8_nine, g8_nine) << 9); \
1259 return brw_inst_bits(inst, g4_high, g4_low); \
1279 brw_inst_bits(const brw_inst *inst, unsigned high, unsigned low)
1292 return (inst->data[word] >> low) & mask;
1301 brw_inst_set_bits(brw_inst *inst, unsigned high, unsigned low, uint64_t value)
1316 inst->data[word] = (inst->data[word] & ~mask) | (value << low);
1338 brw_compact_inst_bits(const brw_compact_inst *inst, unsigned high, unsigned low)
1342 return (inst->data >> low) & mask;
1351 brw_compact_inst_set_bits(brw_compact_inst *inst, unsigned high, unsigned low,
1359 inst->data = (inst->data & ~mask) | (value << low);
1366 brw_compact_inst *inst, unsigned v) \
1370 brw_compact_inst_set_bits(inst, gfx12_high, gfx12_low, v); \
1372 brw_compact_inst_set_bits(inst, high, low, v); \
1376 const brw_compact_inst *inst) \
1380 return brw_compact_inst_bits(inst, gfx12_high, gfx12_low); \
1382 return brw_compact_inst_bits(inst, high, low); \
1410 const brw_compact_inst *inst)
1413 return brw_compact_inst_bits(inst, 63, 52);
1415 return (brw_compact_inst_bits(inst, 39, 35) << 8) |
1416 (brw_compact_inst_bits(inst, 63, 56));
1450 struct brw_inst *inst, enum opcode opcode)
1452 brw_inst_set_hw_opcode(isa->devinfo, inst, brw_opcode_encode(isa, opcode));
1457 const struct brw_inst *inst)
1459 return brw_opcode_decode(isa, brw_inst_hw_opcode(isa->devinfo, inst));