Lines Matching refs:rs3
162 (ins GPR:$rs1, GPR:$rs2, GPR:$rs3), opcodestr, argstr> {
171 (ins GPR:$rs1, GPR:$rs3, uimmlog2xlen:$shamt),
190 (ins GPR:$rs1, GPR:$rs3, uimm5:$shamt), opcodestr, argstr> {
250 def CMIX : RVBTernaryR<0b11, 0b001, OPC_OP, "cmix", "$rd, $rs2, $rs1, $rs3">,
252 def CMOV : RVBTernaryR<0b11, 0b101, OPC_OP, "cmov", "$rd, $rs2, $rs1, $rs3">,
254 def FSL : RVBTernaryR<0b10, 0b001, OPC_OP, "fsl", "$rd, $rs1, $rs3, $rs2">,
256 def FSR : RVBTernaryR<0b10, 0b101, OPC_OP, "fsr", "$rd, $rs1, $rs3, $rs2">,
259 "$rd, $rs1, $rs3, $shamt">, Sched<[]>;
407 "fslw", "$rd, $rs1, $rs3, $rs2">, Sched<[]>;
409 "$rd, $rs1, $rs3, $rs2">, Sched<[]>;
411 "fsriw", "$rd, $rs1, $rs3, $shamt">, Sched<[]>;
780 def : Pat<(or (and (not GPR:$rs2), GPR:$rs3), (and GPR:$rs2, GPR:$rs1)),
781 (CMIX GPR:$rs1, GPR:$rs2, GPR:$rs3)>;
782 def : Pat<(riscv_selectcc GPR:$rs2, (XLenVT 0), (XLenVT 17), GPR:$rs3, GPR:$rs1),
783 (CMOV GPR:$rs1, GPR:$rs2, GPR:$rs3)>;
798 def : Pat<(fshl GPR:$rs1, GPR:$rs3, GPR:$rs2),
799 (FSL GPR:$rs1, (ANDI GPR:$rs2, 31), GPR:$rs3)>;
800 def : Pat<(fshr GPR:$rs3, GPR:$rs1, GPR:$rs2),
801 (FSR GPR:$rs1, (ANDI GPR:$rs2, 31), GPR:$rs3)>;
804 def : Pat<(fshl GPR:$rs1, GPR:$rs3, GPR:$rs2),
805 (FSL GPR:$rs1, (ANDI GPR:$rs2, 63), GPR:$rs3)>;
806 def : Pat<(fshr GPR:$rs3, GPR:$rs1, GPR:$rs2),
807 (FSR GPR:$rs1, (ANDI GPR:$rs2, 63), GPR:$rs3)>;
810 def : Pat<(fshr GPR:$rs3, GPR:$rs1, uimmlog2xlen:$shamt),
811 (FSRI GPR:$rs1, GPR:$rs3, uimmlog2xlen:$shamt)>;
814 def : Pat<(fshl GPR:$rs3, GPR:$rs1, uimmlog2xlen:$shamt),
815 (FSRI GPR:$rs1, GPR:$rs3, (ImmROTL2R uimmlog2xlen:$shamt))>;
975 def : Pat<(riscv_fslw GPR:$rs1, GPR:$rs3, GPR:$rs2),
976 (FSLW GPR:$rs1, GPR:$rs2, GPR:$rs3)>;
977 def : Pat<(riscv_fsrw GPR:$rs3, GPR:$rs1, GPR:$rs2),
978 (FSRW GPR:$rs1, GPR:$rs2, GPR:$rs3)>;
979 def : Pat<(riscv_fsrw GPR:$rs3, GPR:$rs1, uimm5:$shamt),
980 (FSRIW GPR:$rs1, GPR:$rs3, uimm5:$shamt)>;
981 def : Pat<(riscv_fslw GPR:$rs3, GPR:$rs1, uimm5:$shamt),
982 (FSRIW GPR:$rs1, GPR:$rs3, (ImmROTL2RW uimm5:$shamt))>;