Lines Matching refs:rs
947 static void emit_movz_r(struct jit_context *ctx, u8 rd, u8 rs, u8 rt) in emit_movz_r() argument
950 emit(ctx, movz, rd, rs, rt); /* rd = rt ? rd : rs */ in emit_movz_r()
952 if (rs != MIPS_R_ZERO) in emit_movz_r()
953 emit(ctx, seleqz, rs, rs, rt); /* rs = 0 if rt == 0 */ in emit_movz_r()
955 if (rs != MIPS_R_ZERO) in emit_movz_r()
956 emit(ctx, or, rd, rd, rs); /* rd = rd | rs */ in emit_movz_r()
960 emit(ctx, or, rd, rs, MIPS_R_ZERO); /* +4: rd = rs */ in emit_movz_r()
963 clobber_reg(ctx, rs); in emit_movz_r()
970 static void emit_movn_r(struct jit_context *ctx, u8 rd, u8 rs, u8 rt) in emit_movn_r() argument
973 emit(ctx, movn, rd, rs, rt); /* rd = rt ? rs : rd */ in emit_movn_r()
975 if (rs != MIPS_R_ZERO) in emit_movn_r()
976 emit(ctx, selnez, rs, rs, rt); /* rs = 0 if rt == 0 */ in emit_movn_r()
978 if (rs != MIPS_R_ZERO) in emit_movn_r()
979 emit(ctx, or, rd, rd, rs); /* rd = rd | rs */ in emit_movn_r()
983 emit(ctx, or, rd, rs, MIPS_R_ZERO); /* +4: rd = rs */ in emit_movn_r()
986 clobber_reg(ctx, rs); in emit_movn_r()
991 const u8 rs[], s64 imm) in emit_sltiu_r64() argument
997 emit(ctx, sltu, rd, lo(rs), rd); /* rd = rsl < rd */ in emit_sltiu_r64()
998 emit(ctx, sltiu, tmp, hi(rs), -1); /* tmp = rsh < ~0U */ in emit_sltiu_r64()
1003 emit(ctx, sltu, rd, lo(rs), rd); /* rd = rsl < rd */ in emit_sltiu_r64()
1005 emit(ctx, sltiu, rd, lo(rs), imm); /* rd = rsl < imm */ in emit_sltiu_r64()
1007 emit_movn_r(ctx, rd, MIPS_R_ZERO, hi(rs)); /* rd = 0 if rsh */ in emit_sltiu_r64()
1013 const u8 rs[], const u8 rt[]) in emit_sltu_r64() argument
1017 emit(ctx, sltu, rd, lo(rs), lo(rt)); /* rd = rsl < rtl */ in emit_sltu_r64()
1018 emit(ctx, subu, tmp, hi(rs), hi(rt)); /* tmp = rsh - rth */ in emit_sltu_r64()
1020 emit(ctx, sltu, tmp, hi(rs), hi(rt)); /* tmp = rsh < rth */ in emit_sltu_r64()
1026 const u8 rs[], s64 imm) in emit_slti_r64() argument
1037 emit(ctx, sltu, t1, lo(rs), rd); /* t1 = rsl <u imm */ in emit_slti_r64()
1038 emit(ctx, sltu, t2, rd, lo(rs)); /* t2 = imm <u rsl */ in emit_slti_r64()
1039 emit(ctx, srl, rd, hi(rs), 31); /* rd = rsh >> 31 */ in emit_slti_r64()
1050 emit(ctx, addiu, rd, hi(rs), 1); /* rd = rsh + 1 */ in emit_slti_r64()
1053 cmp = hi(rs); in emit_slti_r64()
1062 emit(ctx, slti, rd, hi(rs), imm < 0 ? -1 : 0); /* rd = rsh < hi(imm) */ in emit_slti_r64()
1068 const u8 rs[], const u8 rt[]) in emit_slt_r64() argument
1079 emit(ctx, sltu, t1, lo(rs), lo(rt)); /* t1 = rsl <u rtl */ in emit_slt_r64()
1080 emit(ctx, sltu, t2, lo(rt), lo(rs)); /* t2 = rtl <u rsl */ in emit_slt_r64()
1081 emit(ctx, xor, t3, hi(rs), hi(rt)); /* t3 = rlh ^ rth */ in emit_slt_r64()
1087 emit(ctx, slt, rd, hi(rs), hi(rt)); /* rd = rsh <s rth */ in emit_slt_r64()