Lines Matching refs:rt
128 (dnf f-rt "register field Rt" () 20 5)
153 (name f-rd-rt)
157 (subfields f-rd f-rt)
159 (set (ifield f-rd) (ifield f-rd-rt))
160 (set (ifield f-rt) (ifield f-rd-rt))
163 (set (ifield f-rd-rt) (ifield f-rt))
168 (name f-rt-rs)
172 (subfields f-rt f-rs)
174 (set (ifield f-rt) (ifield f-rt-rs))
175 (set (ifield f-rs) (ifield f-rt-rs))
238 regimm-functions "branch sub-opcodes" () FUNC_ f-rt
319 (comment "insn requires an even numbered register in rt(2000) or rd(10)")
338 (define-reg-use-attr "rt")
345 (dnop rt "register Rt" () h-gr f-rt)
348 (dnop rd-rt "register Rd from Rt" () h-gr f-rd-rt)
349 (dnop rt-rs "register Rt from Rs" () h-gr f-rt-rs)
370 ; Aliases for the rs and rt operands. This just makes the load/store
375 (dnop bitnum "bit number" () h-uint f-rt)
434 "add ${rd-rs},$rt"
435 (+ OP_SPECIAL rt rd-rs (f-shamt 0) FUNC_ADD)
436 (set rd-rs (add rt rd-rs))
440 "add $rd,$rs,$rt"
441 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_ADD)
442 (set rd (add rs rt))
447 "addi ${rt-rs},$lo16"
448 (+ OP_ADDI rt-rs lo16)
449 (set rt-rs (add rt-rs (ext SI (trunc HI lo16))))
453 "addi $rt,$rs,$lo16"
454 (+ OP_ADDI rs rt lo16)
455 (set rt (add rs (ext SI (trunc HI lo16))))
459 "addiu ${rt-rs},$lo16"
460 (+ OP_ADDIU rt-rs lo16)
461 (set rt-rs (add rt-rs (ext SI (trunc HI lo16))))
465 "addiu $rt,$rs,$lo16"
466 (+ OP_ADDIU rs rt lo16)
467 (set rt (add rs (ext SI (trunc HI lo16))))
471 "addu ${rd-rs},$rt"
472 (+ OP_SPECIAL rd-rs rt (f-shamt 0) FUNC_ADDU)
473 (set rd-rs (add rd-rs rt))
477 "addu $rd,$rs,$rt"
478 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_ADDU)
479 (set rd (add rs rt))
483 "ado16 ${rd-rs},$rt"
484 (+ OP_SPECIAL rd-rs rt (f-shamt 0) FUNC_ADO16)
486 (set low (add HI (and HI rd-rs #xFFFF) (and HI rt #xFFFF)))
487 (set high (add HI (srl rd-rs 16) (srl rt 16)))
492 "ado16 $rd,$rs,$rt"
493 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_ADO16)
495 (set low (add HI (and HI rs #xFFFF) (and HI rt #xFFFF)))
496 (set high (add HI (srl rs 16) (srl rt 16)))
501 "and ${rd-rs},$rt"
502 (+ OP_SPECIAL rd-rs rt (f-shamt 0) FUNC_AND)
503 (set rd-rs (and rd-rs rt))
507 "and $rd,$rs,$rt"
508 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_AND)
509 (set rd (and rs rt))
513 "andi ${rt-rs},$lo16"
514 (+ OP_ANDI rt-rs lo16)
515 (set rt-rs (and rt-rs (zext SI lo16)))
519 "andi $rt,$rs,$lo16"
520 (+ OP_ANDI rs rt lo16)
521 (set rt (and rs (zext SI lo16)))
525 "andoi ${rt-rs},$lo16"
526 (+ OP_ANDOI rt-rs lo16)
527 (set rt-rs (and rt-rs (or #xFFFF0000 (ext SI (trunc HI lo16)))))
531 "andoi $rt,$rs,$lo16"
532 (+ OP_ANDOI rs rt lo16)
533 (set rt (and rs (or #xFFFF0000 (ext SI (trunc HI lo16)))))
537 "nor ${rd-rs},$rt"
538 (+ OP_SPECIAL rd-rs rt (f-shamt 0) FUNC_NOR)
539 (set rd-rs (inv (or rd-rs rt)))
543 "nor $rd,$rs,$rt"
544 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_NOR)
545 (set rd (inv (or rs rt)))
549 "or ${rd-rs},$rt"
550 (+ OP_SPECIAL rd-rs rt (f-shamt 0) FUNC_OR)
551 (set rd-rs (or rd-rs rt))
555 "or $rd,$rs,$rt"
556 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_OR)
557 (set rd (or rs rt))
561 "ori ${rt-rs},$lo16"
562 (+ OP_ORI rt-rs lo16)
563 (set rt-rs (or rt-rs (zext SI lo16)))
567 "ori $rt,$rs,$lo16"
568 (+ OP_ORI rs rt lo16)
569 (set rt (or rs (zext SI lo16)))
573 "ram $rd,$rt,$shamt,$maskl,$maskr"
574 (+ OP_RAM maskr rt rd shamt (f-5 0) maskl)
576 (set rd (ror rt shamt))
582 "sll $rd,$rt,$shamt"
583 (+ OP_SPECIAL (f-rs 0) rt rd shamt (f-func 0))
584 (set rd (sll rt shamt))
588 "sllv ${rd-rt},$rs"
589 (+ OP_SPECIAL rs rd-rt (f-shamt 0) FUNC_SLLV)
590 (set rd-rt (sll rd-rt (and rs #x1F)))
594 "sllv $rd,$rt,$rs"
595 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_SLLV)
596 (set rd (sll rt (and rs #x1F)))
600 "slmv ${rd-rt},$rs,$shamt"
601 (+ OP_SPECIAL rs rd-rt shamt FUNC_SLMV)
602 (set rd-rt (and (sll rd-rt shamt) (srl #xFFFFFFFF rs)))
606 "slmv $rd,$rt,$rs,$shamt"
607 (+ OP_SPECIAL rs rt rd shamt FUNC_SLMV)
608 (set rd (and (sll rt shamt) (srl #xFFFFFFFF rs)))
612 "slt ${rd-rs},$rt"
613 (+ OP_SPECIAL rt rd-rs (f-shamt 0) FUNC_SLT)
614 (if (lt rd-rs rt)
620 "slt $rd,$rs,$rt"
621 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_SLT)
622 (if (lt rs rt)
628 "slti ${rt-rs},$imm"
629 (+ OP_SLTI rt-rs imm)
630 (if (lt rt-rs (ext SI (trunc HI imm)))
631 (set rt-rs 1)
632 (set rt-rs 0))
636 "slti $rt,$rs,$imm"
637 (+ OP_SLTI rs rt imm)
639 (set rt 1)
640 (set rt 0))
644 "sltiu ${rt-rs},$imm"
645 (+ OP_SLTIU rt-rs imm)
646 (if (ltu rt-rs (ext SI (trunc HI imm)))
647 (set rt-rs 1)
648 (set rt-rs 0))
652 "sltiu $rt,$rs,$imm"
653 (+ OP_SLTIU rs rt imm)
655 (set rt 1)
656 (set rt 0))
660 "sltu ${rd-rs},$rt"
661 (+ OP_SPECIAL rd-rs rt (f-shamt 0) FUNC_SLTU)
662 (if (ltu rd-rs rt)
668 "sltu $rd,$rs,$rt"
669 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_SLTU)
670 (if (ltu rs rt)
676 "sra ${rd-rt},$shamt"
677 (+ OP_SPECIAL (f-rs 0) rd-rt shamt FUNC_SRA)
678 (set rd-rt (sra rd-rt shamt))
682 "sra $rd,$rt,$shamt"
683 (+ OP_SPECIAL (f-rs 0) rt rd shamt FUNC_SRA)
684 (set rd (sra rt shamt))
688 "srav ${rd-rt},$rs"
689 (+ OP_SPECIAL rs rd-rt (f-shamt 0) FUNC_SRAV)
690 (set rd-rt (sra rd-rt (and rs #x1F)))
694 "srav $rd,$rt,$rs"
695 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_SRAV)
696 (set rd (sra rt (and rs #x1F)))
700 "srl $rd,$rt,$shamt"
701 (+ OP_SPECIAL (f-rs 0) rt rd shamt FUNC_SRL)
702 (set rd (srl rt shamt))
706 "srlv ${rd-rt},$rs"
707 (+ OP_SPECIAL rs rd-rt (f-shamt 0) FUNC_SRLV)
708 (set rd-rt (srl rd-rt (and rs #x1F)))
712 "srlv $rd,$rt,$rs"
713 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_SRLV)
714 (set rd (srl rt (and rs #x1F)))
718 "srmv ${rd-rt},$rs,$shamt"
719 (+ OP_SPECIAL rs rd-rt shamt FUNC_SRMV)
720 (set rd-rt (and (srl rd-rt shamt) (sll #xFFFFFFFF rs)))
724 "srmv $rd,$rt,$rs,$shamt"
725 (+ OP_SPECIAL rs rt rd shamt FUNC_SRMV)
726 (set rd (and (srl rt shamt) (sll #xFFFFFFFF rs)))
730 "sub ${rd-rs},$rt"
731 (+ OP_SPECIAL rt rd-rs (f-shamt 0) FUNC_SUB)
732 (set rd-rs (sub rd-rs rt))
736 "sub $rd,$rs,$rt"
737 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_SUB)
738 (set rd (sub rs rt))
742 "subu ${rd-rs},$rt"
743 (+ OP_SPECIAL rt rd-rs (f-shamt 0) FUNC_SUBU)
744 (set rd-rs (sub rd-rs rt))
748 "subu $rd,$rs,$rt"
749 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_SUBU)
750 (set rd (sub rs rt))
754 "xor ${rd-rs},$rt"
755 (+ OP_SPECIAL rt rd-rs (f-shamt 0) FUNC_XOR)
756 (set rd-rs (xor rd-rs rt))
760 "xor $rd,$rs,$rt"
761 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_XOR)
762 (set rd (xor rs rt))
766 "xori ${rt-rs},$lo16"
767 (+ OP_XORI rt-rs lo16)
768 (set rt-rs (xor rt-rs (zext SI lo16)))
772 "xori $rt,$rs,$lo16"
773 (+ OP_XORI rs rt lo16)
774 (set rt (xor rs (zext SI lo16)))
795 "bbv $rs,$rt,$offset"
796 (+ OP_BBV rs rt offset)
797 (if (bitset? rs (and rt #x1F))
802 "bbvn $rs,$rt,$offset"
803 (+ OP_BBVN rs rt offset)
804 (if (bitclear? rs (and rt #x1F))
809 "beq $rs,$rt,$offset"
810 (+ OP_BEQ rs rt offset)
811 (if (eq rs rt)
816 "beql $rs,$rt,$offset"
817 (+ OP_BEQL rs rt offset)
818 (if (eq rs rt)
893 "bmb0 $rs,$rt,$offset"
894 (+ OP_BMB0 rs rt offset)
895 (if (eq (and rs #xFF) (and rt #xFF))
900 "bmb1 $rs,$rt,$offset"
901 (+ OP_BMB1 rs rt offset)
902 (if (eq (and rs #xFF00) (and rt #xFF00))
907 "bmb2 $rs,$rt,$offset"
908 (+ OP_BMB2 rs rt offset)
909 (if (eq (and rs #xFF0000) (and rt #xFF0000))
914 "bmb3 $rs,$rt,$offset"
915 (+ OP_BMB3 rs rt offset)
916 (if (eq (and rs #xFF000000) (and rt #xFF000000))
921 "bne $rs,$rt,$offset"
922 (+ OP_BNE rs rt offset)
923 (if (ne rs rt)
928 "bnel $rs,$rt,$offset"
929 (+ OP_BNEL rs rt offset)
930 (if (ne rs rt)
943 (+ OP_SPECIAL rs (f-rt 0) rd (f-shamt 0) FUNC_JALR)
952 (+ OP_SPECIAL rs (f-rt 0) (f-rd 0) (f-shamt 0) FUNC_JR)
960 "lb $rt,$lo16($base)"
961 (+ OP_LB base rt lo16)
962 (set rt (ext WI (mem QI (add base (ext SI (trunc HI lo16))))))
967 ; (set rt (ext SI word)))
971 "lbu $rt,$lo16($base)"
972 (+ OP_LBU base rt lo16)
973 (set rt (zext WI (mem QI (add base (ext SI (trunc HI lo16))))))
977 ; (set rt (srl word (sll (and addr 2) 3))))
981 "lh $rt,$lo16($base)"
982 (+ OP_LH base rt lo16)
983 (set rt (ext WI (mem HI (add base (ext SI (trunc HI lo16))))))
988 ; (set rt (ext SI word)))
992 "lhu $rt,$lo16($base)"
993 (+ OP_LHU base rt lo16)
994 (set rt (zext WI (mem HI (add base (ext SI (trunc HI lo16))))))
998 ; (set rt (srl word (sll (and addr 1) 4))))
1002 "lui $rt,$hi16"
1003 (+ OP_LUI (f-rs 0) rt hi16)
1004 (set rt (sll hi16 16))
1008 "lw $rt,$lo16($base)"
1009 (+ OP_LW base rt lo16)
1010 (set rt (mem SI (add base (ext SI (trunc HI lo16)))))
1017 "sb $rt,$lo16($base)"
1018 (+ OP_SB base rt lo16)
1019 (set (mem QI (add base (ext SI (trunc HI lo16)))) (and QI rt #xFF))
1023 "sh $rt,$lo16($base)"
1024 (+ OP_SH base rt lo16)
1025 (set (mem HI (add base (ext SI (trunc HI lo16)))) (and HI rt #xFFFF))
1029 "sw $rt,$lo16($base)"
1030 (+ OP_SW base rt lo16)
1031 (set (mem SI (add base (ext SI (trunc HI lo16)))) rt)
1038 (+ OP_SPECIAL (f-rs 0) (f-rt 0) (f-rd 0) (f-shamt 0) FUNC_BREAK)
1052 (emit sll (rd 0) (rt 0) (shamt 0))
1057 (emit ori (rt 0) rs imm)
1061 "move $rd,$rt"
1062 (emit or rd (rs 0) rt)
1066 "lb $rt,$lo16"
1067 (emit lb rt lo16 (base 0))
1071 "lbu $rt,$lo16"
1072 (emit lbu rt lo16 (base 0))
1076 "lh $rt,$lo16"
1077 (emit lh rt lo16 (base 0))
1081 "lw $rt,$lo16"
1082 (emit lw rt lo16 (base 0))
1086 "add $rt,$rs,$lo16"
1087 (emit addi rt rs lo16))
1090 "addu $rt,$rs,$lo16"
1091 (emit addiu rt rs lo16)
1095 "and $rt,$rs,$lo16"
1096 (emit andi rt rs lo16)
1105 "or $rt,$rs,$lo16"
1106 (emit ori rt rs lo16)
1110 "sll $rd,$rt,$rs"
1111 (emit sllv rd rt rs)
1115 "slt $rt,$rs,$imm"
1116 (emit slti rt rs imm)
1120 "sltu $rt,$rs,$imm"
1121 (emit sltiu rt rs imm)
1125 "sra $rd,$rt,$rs"
1126 (emit srav rd rt rs)
1130 "srl $rd,$rt,$rs"
1131 (emit srlv rd rt rs)
1135 "not $rd,$rt"
1136 (emit nor rd (rs 0) rt)
1140 "subi $rt,$rs,$mlo16"
1141 (emit addiu rt rs mlo16)
1145 "sub $rt,$rs,$mlo16"
1146 (emit addiu rt rs mlo16)
1150 "subu $rt,$rs,$mlo16"
1151 (emit addiu rt rs mlo16)
1155 "sb $rt,$lo16"
1156 (emit sb rt lo16 (base 0))
1160 "sh $rt,$lo16"
1161 (emit sh rt lo16 (base 0))
1165 "sw $rt,$lo16"
1166 (emit sw rt lo16 (base 0))
1170 "xor $rt,$rs,$lo16"
1171 (emit xori rt rs lo16)