Lines Matching refs:rt
145 (dnf f-rt "register field Rt" () 20 5)
170 (name f-rd-rt)
174 (subfields f-rd f-rt)
176 (set (ifield f-rd) (ifield f-rd-rt))
177 (set (ifield f-rt) (ifield f-rd-rt))
180 (set (ifield f-rd-rt) (ifield f-rt))
185 (name f-rt-rs)
189 (subfields f-rt f-rs)
191 (set (ifield f-rt) (ifield f-rt-rs))
192 (set (ifield f-rs) (ifield f-rt-rs))
255 regimm-functions "branch sub-opcodes" () FUNC_ f-rt
336 (comment "insn requires an even numbered register in rt(2000) or rd(10)")
355 (define-reg-use-attr "rt")
362 (dnop rt "register Rt" () h-gr f-rt)
365 (dnop rd-rt "register Rd from Rt" () h-gr f-rd-rt)
366 (dnop rt-rs "register Rt from Rs" () h-gr f-rt-rs)
387 ; Aliases for the rs and rt operands. This just makes the load/store
392 (dnop bitnum "bit number" () h-uint f-rt)
451 "add ${rd-rs},$rt"
452 (+ OP_SPECIAL rt rd-rs (f-shamt 0) FUNC_ADD)
453 (set rd-rs (add rt rd-rs))
457 "add $rd,$rs,$rt"
458 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_ADD)
459 (set rd (add rs rt))
464 "addi ${rt-rs},$lo16"
465 (+ OP_ADDI rt-rs lo16)
466 (set rt-rs (add rt-rs (ext SI (trunc HI lo16))))
470 "addi $rt,$rs,$lo16"
471 (+ OP_ADDI rs rt lo16)
472 (set rt (add rs (ext SI (trunc HI lo16))))
476 "addiu ${rt-rs},$lo16"
477 (+ OP_ADDIU rt-rs lo16)
478 (set rt-rs (add rt-rs (ext SI (trunc HI lo16))))
482 "addiu $rt,$rs,$lo16"
483 (+ OP_ADDIU rs rt lo16)
484 (set rt (add rs (ext SI (trunc HI lo16))))
488 "addu ${rd-rs},$rt"
489 (+ OP_SPECIAL rd-rs rt (f-shamt 0) FUNC_ADDU)
490 (set rd-rs (add rd-rs rt))
494 "addu $rd,$rs,$rt"
495 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_ADDU)
496 (set rd (add rs rt))
500 "ado16 ${rd-rs},$rt"
501 (+ OP_SPECIAL rd-rs rt (f-shamt 0) FUNC_ADO16)
503 (set low (add HI (and HI rd-rs #xFFFF) (and HI rt #xFFFF)))
504 (set high (add HI (srl rd-rs 16) (srl rt 16)))
509 "ado16 $rd,$rs,$rt"
510 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_ADO16)
512 (set low (add HI (and HI rs #xFFFF) (and HI rt #xFFFF)))
513 (set high (add HI (srl rs 16) (srl rt 16)))
518 "and ${rd-rs},$rt"
519 (+ OP_SPECIAL rd-rs rt (f-shamt 0) FUNC_AND)
520 (set rd-rs (and rd-rs rt))
524 "and $rd,$rs,$rt"
525 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_AND)
526 (set rd (and rs rt))
530 "andi ${rt-rs},$lo16"
531 (+ OP_ANDI rt-rs lo16)
532 (set rt-rs (and rt-rs (zext SI lo16)))
536 "andi $rt,$rs,$lo16"
537 (+ OP_ANDI rs rt lo16)
538 (set rt (and rs (zext SI lo16)))
542 "andoi ${rt-rs},$lo16"
543 (+ OP_ANDOI rt-rs lo16)
544 (set rt-rs (and rt-rs (or #xFFFF0000 (ext SI (trunc HI lo16)))))
548 "andoi $rt,$rs,$lo16"
549 (+ OP_ANDOI rs rt lo16)
550 (set rt (and rs (or #xFFFF0000 (ext SI (trunc HI lo16)))))
554 "nor ${rd-rs},$rt"
555 (+ OP_SPECIAL rd-rs rt (f-shamt 0) FUNC_NOR)
556 (set rd-rs (inv (or rd-rs rt)))
560 "nor $rd,$rs,$rt"
561 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_NOR)
562 (set rd (inv (or rs rt)))
566 "or ${rd-rs},$rt"
567 (+ OP_SPECIAL rd-rs rt (f-shamt 0) FUNC_OR)
568 (set rd-rs (or rd-rs rt))
572 "or $rd,$rs,$rt"
573 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_OR)
574 (set rd (or rs rt))
578 "ori ${rt-rs},$lo16"
579 (+ OP_ORI rt-rs lo16)
580 (set rt-rs (or rt-rs (zext SI lo16)))
584 "ori $rt,$rs,$lo16"
585 (+ OP_ORI rs rt lo16)
586 (set rt (or rs (zext SI lo16)))
590 "ram $rd,$rt,$shamt,$maskl,$maskr"
591 (+ OP_RAM maskr rt rd shamt (f-5 0) maskl)
593 (set rd (ror rt shamt))
599 "sll $rd,$rt,$shamt"
600 (+ OP_SPECIAL (f-rs 0) rt rd shamt (f-func 0))
601 (set rd (sll rt shamt))
605 "sllv ${rd-rt},$rs"
606 (+ OP_SPECIAL rs rd-rt (f-shamt 0) FUNC_SLLV)
607 (set rd-rt (sll rd-rt (and rs #x1F)))
611 "sllv $rd,$rt,$rs"
612 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_SLLV)
613 (set rd (sll rt (and rs #x1F)))
617 "slmv ${rd-rt},$rs,$shamt"
618 (+ OP_SPECIAL rs rd-rt shamt FUNC_SLMV)
619 (set rd-rt (and (sll rd-rt shamt) (srl #xFFFFFFFF rs)))
623 "slmv $rd,$rt,$rs,$shamt"
624 (+ OP_SPECIAL rs rt rd shamt FUNC_SLMV)
625 (set rd (and (sll rt shamt) (srl #xFFFFFFFF rs)))
629 "slt ${rd-rs},$rt"
630 (+ OP_SPECIAL rt rd-rs (f-shamt 0) FUNC_SLT)
631 (if (lt rd-rs rt)
637 "slt $rd,$rs,$rt"
638 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_SLT)
639 (if (lt rs rt)
645 "slti ${rt-rs},$imm"
646 (+ OP_SLTI rt-rs imm)
647 (if (lt rt-rs (ext SI (trunc HI imm)))
648 (set rt-rs 1)
649 (set rt-rs 0))
653 "slti $rt,$rs,$imm"
654 (+ OP_SLTI rs rt imm)
656 (set rt 1)
657 (set rt 0))
661 "sltiu ${rt-rs},$imm"
662 (+ OP_SLTIU rt-rs imm)
663 (if (ltu rt-rs (ext SI (trunc HI imm)))
664 (set rt-rs 1)
665 (set rt-rs 0))
669 "sltiu $rt,$rs,$imm"
670 (+ OP_SLTIU rs rt imm)
672 (set rt 1)
673 (set rt 0))
677 "sltu ${rd-rs},$rt"
678 (+ OP_SPECIAL rd-rs rt (f-shamt 0) FUNC_SLTU)
679 (if (ltu rd-rs rt)
685 "sltu $rd,$rs,$rt"
686 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_SLTU)
687 (if (ltu rs rt)
693 "sra ${rd-rt},$shamt"
694 (+ OP_SPECIAL (f-rs 0) rd-rt shamt FUNC_SRA)
695 (set rd-rt (sra rd-rt shamt))
699 "sra $rd,$rt,$shamt"
700 (+ OP_SPECIAL (f-rs 0) rt rd shamt FUNC_SRA)
701 (set rd (sra rt shamt))
705 "srav ${rd-rt},$rs"
706 (+ OP_SPECIAL rs rd-rt (f-shamt 0) FUNC_SRAV)
707 (set rd-rt (sra rd-rt (and rs #x1F)))
711 "srav $rd,$rt,$rs"
712 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_SRAV)
713 (set rd (sra rt (and rs #x1F)))
717 "srl $rd,$rt,$shamt"
718 (+ OP_SPECIAL (f-rs 0) rt rd shamt FUNC_SRL)
719 (set rd (srl rt shamt))
723 "srlv ${rd-rt},$rs"
724 (+ OP_SPECIAL rs rd-rt (f-shamt 0) FUNC_SRLV)
725 (set rd-rt (srl rd-rt (and rs #x1F)))
729 "srlv $rd,$rt,$rs"
730 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_SRLV)
731 (set rd (srl rt (and rs #x1F)))
735 "srmv ${rd-rt},$rs,$shamt"
736 (+ OP_SPECIAL rs rd-rt shamt FUNC_SRMV)
737 (set rd-rt (and (srl rd-rt shamt) (sll #xFFFFFFFF rs)))
741 "srmv $rd,$rt,$rs,$shamt"
742 (+ OP_SPECIAL rs rt rd shamt FUNC_SRMV)
743 (set rd (and (srl rt shamt) (sll #xFFFFFFFF rs)))
747 "sub ${rd-rs},$rt"
748 (+ OP_SPECIAL rt rd-rs (f-shamt 0) FUNC_SUB)
749 (set rd-rs (sub rd-rs rt))
753 "sub $rd,$rs,$rt"
754 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_SUB)
755 (set rd (sub rs rt))
759 "subu ${rd-rs},$rt"
760 (+ OP_SPECIAL rt rd-rs (f-shamt 0) FUNC_SUBU)
761 (set rd-rs (sub rd-rs rt))
765 "subu $rd,$rs,$rt"
766 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_SUBU)
767 (set rd (sub rs rt))
771 "xor ${rd-rs},$rt"
772 (+ OP_SPECIAL rt rd-rs (f-shamt 0) FUNC_XOR)
773 (set rd-rs (xor rd-rs rt))
777 "xor $rd,$rs,$rt"
778 (+ OP_SPECIAL rs rt rd (f-shamt 0) FUNC_XOR)
779 (set rd (xor rs rt))
783 "xori ${rt-rs},$lo16"
784 (+ OP_XORI rt-rs lo16)
785 (set rt-rs (xor rt-rs (zext SI lo16)))
789 "xori $rt,$rs,$lo16"
790 (+ OP_XORI rs rt lo16)
791 (set rt (xor rs (zext SI lo16)))
812 "bbv $rs,$rt,$offset"
813 (+ OP_BBV rs rt offset)
814 (if (bitset? rs (and rt #x1F))
819 "bbvn $rs,$rt,$offset"
820 (+ OP_BBVN rs rt offset)
821 (if (bitclear? rs (and rt #x1F))
826 "beq $rs,$rt,$offset"
827 (+ OP_BEQ rs rt offset)
828 (if (eq rs rt)
833 "beql $rs,$rt,$offset"
834 (+ OP_BEQL rs rt offset)
835 (if (eq rs rt)
910 "bmb0 $rs,$rt,$offset"
911 (+ OP_BMB0 rs rt offset)
912 (if (eq (and rs #xFF) (and rt #xFF))
917 "bmb1 $rs,$rt,$offset"
918 (+ OP_BMB1 rs rt offset)
919 (if (eq (and rs #xFF00) (and rt #xFF00))
924 "bmb2 $rs,$rt,$offset"
925 (+ OP_BMB2 rs rt offset)
926 (if (eq (and rs #xFF0000) (and rt #xFF0000))
931 "bmb3 $rs,$rt,$offset"
932 (+ OP_BMB3 rs rt offset)
933 (if (eq (and rs #xFF000000) (and rt #xFF000000))
938 "bne $rs,$rt,$offset"
939 (+ OP_BNE rs rt offset)
940 (if (ne rs rt)
945 "bnel $rs,$rt,$offset"
946 (+ OP_BNEL rs rt offset)
947 (if (ne rs rt)
960 (+ OP_SPECIAL rs (f-rt 0) rd (f-shamt 0) FUNC_JALR)
969 (+ OP_SPECIAL rs (f-rt 0) (f-rd 0) (f-shamt 0) FUNC_JR)
977 "lb $rt,$lo16($base)"
978 (+ OP_LB base rt lo16)
979 (set rt (ext WI (mem QI (add base (ext SI (trunc HI lo16))))))
984 ; (set rt (ext SI word)))
988 "lbu $rt,$lo16($base)"
989 (+ OP_LBU base rt lo16)
990 (set rt (zext WI (mem QI (add base (ext SI (trunc HI lo16))))))
994 ; (set rt (srl word (sll (and addr 2) 3))))
998 "lh $rt,$lo16($base)"
999 (+ OP_LH base rt lo16)
1000 (set rt (ext WI (mem HI (add base (ext SI (trunc HI lo16))))))
1005 ; (set rt (ext SI word)))
1009 "lhu $rt,$lo16($base)"
1010 (+ OP_LHU base rt lo16)
1011 (set rt (zext WI (mem HI (add base (ext SI (trunc HI lo16))))))
1015 ; (set rt (srl word (sll (and addr 1) 4))))
1019 "lui $rt,$hi16"
1020 (+ OP_LUI (f-rs 0) rt hi16)
1021 (set rt (sll hi16 16))
1025 "lw $rt,$lo16($base)"
1026 (+ OP_LW base rt lo16)
1027 (set rt (mem SI (add base (ext SI (trunc HI lo16)))))
1034 "sb $rt,$lo16($base)"
1035 (+ OP_SB base rt lo16)
1036 (set (mem QI (add base (ext SI (trunc HI lo16)))) (and QI rt #xFF))
1040 "sh $rt,$lo16($base)"
1041 (+ OP_SH base rt lo16)
1042 (set (mem HI (add base (ext SI (trunc HI lo16)))) (and HI rt #xFFFF))
1046 "sw $rt,$lo16($base)"
1047 (+ OP_SW base rt lo16)
1048 (set (mem SI (add base (ext SI (trunc HI lo16)))) rt)
1055 (+ OP_SPECIAL (f-rs 0) (f-rt 0) (f-rd 0) (f-shamt 0) FUNC_BREAK)
1069 (emit sll (rd 0) (rt 0) (shamt 0))
1074 (emit ori (rt 0) rs imm)
1078 "move $rd,$rt"
1079 (emit or rd (rs 0) rt)
1083 "lb $rt,$lo16"
1084 (emit lb rt lo16 (base 0))
1088 "lbu $rt,$lo16"
1089 (emit lbu rt lo16 (base 0))
1093 "lh $rt,$lo16"
1094 (emit lh rt lo16 (base 0))
1098 "lw $rt,$lo16"
1099 (emit lw rt lo16 (base 0))
1103 "add $rt,$rs,$lo16"
1104 (emit addi rt rs lo16))
1107 "addu $rt,$rs,$lo16"
1108 (emit addiu rt rs lo16)
1112 "and $rt,$rs,$lo16"
1113 (emit andi rt rs lo16)
1122 "or $rt,$rs,$lo16"
1123 (emit ori rt rs lo16)
1127 "sll $rd,$rt,$rs"
1128 (emit sllv rd rt rs)
1132 "slt $rt,$rs,$imm"
1133 (emit slti rt rs imm)
1137 "sltu $rt,$rs,$imm"
1138 (emit sltiu rt rs imm)
1142 "sra $rd,$rt,$rs"
1143 (emit srav rd rt rs)
1147 "srl $rd,$rt,$rs"
1148 (emit srlv rd rt rs)
1152 "not $rd,$rt"
1153 (emit nor rd (rs 0) rt)
1157 "subi $rt,$rs,$mlo16"
1158 (emit addiu rt rs mlo16)
1162 "sub $rt,$rs,$mlo16"
1163 (emit addiu rt rs mlo16)
1167 "subu $rt,$rs,$mlo16"
1168 (emit addiu rt rs mlo16)
1172 "sb $rt,$lo16"
1173 (emit sb rt lo16 (base 0))
1177 "sh $rt,$lo16"
1178 (emit sh rt lo16 (base 0))
1182 "sw $rt,$lo16"
1183 (emit sw rt lo16 (base 0))
1187 "xor $rt,$rs,$lo16"
1188 (emit xori rt rs lo16)