Lines Matching defs:rt

484       unsigned rt:5;
491 emit_d(struct ppc_function *p, uint op, uint rt, uint ra, int si,
498 inst.inst.rt = rt;
505 printf(format, rt, si, ra);
507 printf(format, rt, ra, si);
549 unsigned rt:5;
559 emit_xo(struct ppc_function *p, uint op, uint rt, uint ra, uint rb, uint oe,
564 inst.inst.rt = rt;
573 printf(format, rt, ra, rb);
862 /** rt = ra + imm */
864 ppc_addi(struct ppc_function *p, uint rt, uint ra, int imm)
866 emit_d(p, 14, rt, ra, imm, "addi\tr%u, r%u, %d\n", FALSE);
869 /** rt = ra + (imm << 16) */
871 ppc_addis(struct ppc_function *p, uint rt, uint ra, int imm)
873 emit_d(p, 15, rt, ra, imm, "addis\tr%u, r%u, %d\n", FALSE);
876 /** rt = ra + rb */
878 ppc_add(struct ppc_function *p, uint rt, uint ra, uint rb)
880 emit_xo(p, 31, rt, ra, rb, 0, 266, 0, "add\tr%u, r%u, r%u\n");
883 /** rt = ra AND ra */
885 ppc_and(struct ppc_function *p, uint rt, uint ra, uint rb)
887 emit_x(p, 31, ra, rt, rb, 28, "and\tr%u, r%u, r%u\n"); /* note argument order */
890 /** rt = ra AND imm */
892 ppc_andi(struct ppc_function *p, uint rt, uint ra, int imm)
895 emit_d(p, 28, ra, rt, imm, "andi\tr%u, r%u, %d\n", FALSE);
898 /** rt = ra OR ra */
900 ppc_or(struct ppc_function *p, uint rt, uint ra, uint rb)
902 emit_x(p, 31, ra, rt, rb, 444, "or\tr%u, r%u, r%u\n"); /* note argument order */
905 /** rt = ra OR imm */
907 ppc_ori(struct ppc_function *p, uint rt, uint ra, int imm)
910 emit_d(p, 24, ra, rt, imm, "ori\tr%u, r%u, %d\n", FALSE);
913 /** rt = ra XOR ra */
915 ppc_xor(struct ppc_function *p, uint rt, uint ra, uint rb)
917 emit_x(p, 31, ra, rt, rb, 316, "xor\tr%u, r%u, r%u\n"); /* note argument order */
920 /** rt = ra XOR imm */
922 ppc_xori(struct ppc_function *p, uint rt, uint ra, int imm)
925 emit_d(p, 26, ra, rt, imm, "xori\tr%u, r%u, %d\n", FALSE);
928 /** pseudo instruction: move: rt = ra */
930 ppc_mr(struct ppc_function *p, uint rt, uint ra)
932 ppc_or(p, rt, ra, ra);
935 /** pseudo instruction: load immediate: rt = imm */
937 ppc_li(struct ppc_function *p, uint rt, int imm)
941 ppc_addi(p, rt, 0, imm);
944 printf("addi\tr%u, r0, %d \t# r%u = %d\n", rt, imm, rt, imm);
949 /** rt = imm << 16 */
951 ppc_lis(struct ppc_function *p, uint rt, int imm)
953 ppc_addis(p, rt, 0, imm);
956 /** rt = imm */
958 ppc_load_int(struct ppc_function *p, uint rt, int imm)
960 ppc_lis(p, rt, (imm >> 16)); /* rt = imm >> 16 */
961 ppc_ori(p, rt, rt, (imm & 0xffff)); /* rt = rt | (imm & 0xffff) */
987 /** Load rt = mem[(ra)+d]; then zero set high 32 bits to zero. */
989 ppc_lwz(struct ppc_function *p, uint rt, uint ra, int d)
991 emit_d(p, 32, rt, ra, d, "lwz\tr%u, %d(r%u)\n", TRUE);
1014 /** convert to int: rt = (int) ra */
1016 ppc_fctiwz(struct ppc_function *p, uint rt, uint fra)
1018 emit_x(p, 63, rt, 0, fra, 15, "fctiwz\tr%u, r%u, r%u\n");