Lines Matching refs:inst_buf
514 struct jit_instr inst_buf[TILEGX_MAX_INSTRUCTIONS_PER_BUNDLE]; variable
530 memmove(&inst_buf[1], &inst_buf[0], inst_buf_index * sizeof inst_buf[0]); in insert_nop()
533 inst_buf[0].opcode = opcode; in insert_nop()
534 inst_buf[0].pipe = get_any_valid_pipe(opcode); in insert_nop()
535 inst_buf[0].input_registers = 0; in insert_nop()
536 inst_buf[0].output_registers = 0; in insert_nop()
537 inst_buf[0].line = line; in insert_nop()
544 inst_buf[0].opcode->pipes, in compute_format()
545 inst_buf[1].opcode->pipes, in compute_format()
546 (inst_buf_index == 3 ? inst_buf[2].opcode->pipes : (1 << NO_PIPELINE))); in compute_format()
568 tilegx_mnemonic opc = inst_buf[0].opcode->can_bundle in assign_pipes()
580 if ((i > 0) && ((inst_buf[i].input_registers & output_registers) != 0)) in assign_pipes()
583 if ((i > 0) && ((inst_buf[i].output_registers & output_registers) != 0)) in assign_pipes()
589 output_registers |= inst_buf[i].output_registers & 0xFFFFFFFFFFFFFFL; in assign_pipes()
591 inst_buf[i].pipe = match->pipe[i]; in assign_pipes()
601 - (inst_buf[1].pipe + inst_buf[2].pipe))); in assign_pipes()
603 inst_buf[0].pipe = pipe; in assign_pipes()
631 struct jit_instr inst0 = inst_buf[0]; in update_buffer()
632 struct jit_instr inst1 = inst_buf[1]; in update_buffer()
633 struct jit_instr inst2 = inst_buf[2]; in update_buffer()
639 bits |= get_bundle_bit(inst_buf + i); in update_buffer()
641 printf("|%04d", inst_buf[i].line); in update_buffer()
667 inst_buf[0] = inst0; in update_buffer()
668 inst_buf[1] = inst1; in update_buffer()
669 inst_buf[2] = inst2; in update_buffer()
672 bits |= get_bundle_bit(inst_buf + i); in update_buffer()
674 printf("|%04d", inst_buf[i].line); in update_buffer()
687 inst_buf[0] = inst2; in update_buffer()
690 inst_buf[0] = inst1; in update_buffer()
705 inst_buf[0] = inst0; in update_buffer()
706 inst_buf[1] = inst1; in update_buffer()
707 inst_buf[2] = inst2; in update_buffer()
710 bits |= get_bundle_bit(inst_buf + i); in update_buffer()
712 printf("|%04d", inst_buf[i].line); in update_buffer()
724 inst_buf[0] = inst1; in update_buffer()
725 inst_buf[1] = inst2; in update_buffer()
751 inst_buf[inst_buf_index].opcode = opcode; in push_4_buffer()
752 inst_buf[inst_buf_index].pipe = get_any_valid_pipe(opcode); in push_4_buffer()
753 inst_buf[inst_buf_index].operand_value[0] = op0; in push_4_buffer()
754 inst_buf[inst_buf_index].operand_value[1] = op1; in push_4_buffer()
755 inst_buf[inst_buf_index].operand_value[2] = op2; in push_4_buffer()
756 inst_buf[inst_buf_index].operand_value[3] = op3; in push_4_buffer()
757 inst_buf[inst_buf_index].input_registers = 1L << op1; in push_4_buffer()
758 inst_buf[inst_buf_index].output_registers = 1L << op0; in push_4_buffer()
759 inst_buf[inst_buf_index].line = line; in push_4_buffer()
771 inst_buf[inst_buf_index].opcode = opcode; in push_3_buffer()
772 inst_buf[inst_buf_index].pipe = get_any_valid_pipe(opcode); in push_3_buffer()
773 inst_buf[inst_buf_index].operand_value[0] = op0; in push_3_buffer()
774 inst_buf[inst_buf_index].operand_value[1] = op1; in push_3_buffer()
775 inst_buf[inst_buf_index].operand_value[2] = op2; in push_3_buffer()
776 inst_buf[inst_buf_index].line = line; in push_3_buffer()
780 inst_buf[inst_buf_index].input_registers = (1L << op0) | (1L << op1); in push_3_buffer()
781 inst_buf[inst_buf_index].output_registers = 1L << op0; in push_3_buffer()
784 inst_buf[inst_buf_index].input_registers = 1L << op1; in push_3_buffer()
785 inst_buf[inst_buf_index].output_registers = (1L << op0) | (1L << op1); in push_3_buffer()
800 inst_buf[inst_buf_index].input_registers = (1L << op1) | (1L << op2); in push_3_buffer()
801 inst_buf[inst_buf_index].output_registers = 1L << op0; in push_3_buffer()
812 inst_buf[inst_buf_index].input_registers = 1L << op1; in push_3_buffer()
813 inst_buf[inst_buf_index].output_registers = 1L << op0; in push_3_buffer()
831 inst_buf[inst_buf_index].opcode = opcode; in push_2_buffer()
832 inst_buf[inst_buf_index].pipe = get_any_valid_pipe(opcode); in push_2_buffer()
833 inst_buf[inst_buf_index].operand_value[0] = op0; in push_2_buffer()
834 inst_buf[inst_buf_index].operand_value[1] = op1; in push_2_buffer()
835 inst_buf[inst_buf_index].line = line; in push_2_buffer()
840 inst_buf[inst_buf_index].input_registers = 1L << op0; in push_2_buffer()
846 inst_buf[inst_buf_index].input_registers = (1L << op0) | (1L << op1); in push_2_buffer()
847 inst_buf[inst_buf_index].output_registers = 0; in push_2_buffer()
857 inst_buf[inst_buf_index].input_registers = 1L << op1; in push_2_buffer()
858 inst_buf[inst_buf_index].output_registers = 1L << op0; in push_2_buffer()
876 inst_buf[inst_buf_index].opcode = opcode; in push_0_buffer()
877 inst_buf[inst_buf_index].pipe = get_any_valid_pipe(opcode); in push_0_buffer()
878 inst_buf[inst_buf_index].input_registers = 0; in push_0_buffer()
879 inst_buf[inst_buf_index].output_registers = 0; in push_0_buffer()
880 inst_buf[inst_buf_index].line = line; in push_0_buffer()
892 inst_buf[inst_buf_index].opcode = opcode; in push_jr_buffer()
893 inst_buf[inst_buf_index].pipe = get_any_valid_pipe(opcode); in push_jr_buffer()
894 inst_buf[inst_buf_index].operand_value[0] = op0; in push_jr_buffer()
895 inst_buf[inst_buf_index].input_registers = 1L << op0; in push_jr_buffer()
896 inst_buf[inst_buf_index].output_registers = 0; in push_jr_buffer()
897 inst_buf[inst_buf_index].line = line; in push_jr_buffer()