Home
last modified time | relevance | path

Searched refs:funct3 (Results 1 – 19 of 19) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVInstrInfoZalasr.td19 class LAQ_r<bit aq, bit rl, bits<3> funct3, string opcodestr>
20 : RVInstRAtomic<0b00110, aq, rl, funct3, OPC_AMO,
27 class SRL_r<bit aq, bit rl, bits<3> funct3, string opcodestr>
28 : RVInstRAtomic<0b00111, aq, rl, funct3, OPC_AMO,
33 multiclass LAQ_r_aq_rl<bits<3> funct3, string opcodestr> {
34 def _AQ : LAQ_r<1, 0, funct3, opcodestr # ".aq">;
35 def _AQ_RL : LAQ_r<1, 1, funct3, opcodestr # ".aqrl">;
38 multiclass SRL_r_aq_rl<bits<3> funct3, string opcodestr> {
39 def _RL : SRL_r<0, 1, funct3, opcodestr # ".rl">;
40 def _AQ_RL : SRL_r<1, 1, funct3, opcodestr # ".aqrl">;
H A DRISCVInstrFormatsC.td40 class RVInst16CI<bits<3> funct3, bits<2> opcode, dag outs, dag ins,
46 let Inst{15-13} = funct3;
55 class RVInst16CSS<bits<3> funct3, bits<2> opcode, dag outs, dag ins,
62 let Inst{15-13} = funct3;
67 class RVInst16CIW<bits<3> funct3, bits<2> opcode, dag outs, dag ins,
73 let Inst{15-13} = funct3;
81 class RVInst16CL<bits<3> funct3, bits<2> opcode, dag outs, dag ins,
87 let Inst{15-13} = funct3;
96 class RVInst16CS<bits<3> funct3, bits<2> opcode, dag outs, dag ins,
102 let Inst{15-13} = funct3;
[all …]
H A DRISCVInstrInfoXCV.td14 class CVInstBitManipRII<bits<2> funct2, bits<3> funct3, dag outs, dag ins,
16 : RVInstIBase<funct3, OPC_CUSTOM_2, outs, ins, opcodestr, argstr> {
24 class CVBitManipRII<bits<2> funct2, bits<3> funct3, string opcodestr,
26 : CVInstBitManipRII<funct2, funct3, (outs GPR:$rd),
72 class CVInstMac<bits<7> funct7, bits<3> funct3, string opcodestr>
73 : RVInstR<funct7, funct3, OPC_CUSTOM_1,
79 class CVInstMacMulN<bits<2> funct2, bits<3> funct3, dag outs, dag ins,
81 : RVInstRBase<funct3, OPC_CUSTOM_2, outs, ins, opcodestr,
90 class CVInstMacN<bits<2> funct2, bits<3> funct3, string opcodestr>
91 : CVInstMacMulN<funct2, funct3, (out
[all...]
H A DRISCVInstrInfoZimop.td14 class RVInstIMopr<bits<7> imm7, bits<5> imm5, bits<3> funct3, RISCVOpcode opcode,
16 : RVInstIBase<funct3, opcode, outs, ins, opcodestr, argstr> {
25 class RVInstRMoprr<bits<4> imm4, bits<3> imm3, bits<3> funct3, RISCVOpcode opcode,
27 : RVInstRBase<funct3, opcode, outs, ins, opcodestr, argstr> {
44 class RVMopr<bits<7> imm7, bits<5> imm5, bits<3> funct3,
46 : RVInstIMopr<imm7, imm5, funct3, opcode, (outs GPR:$rd), (ins GPR:$rs1),
50 class RVMoprr<bits<4> imm4, bits<3> imm3, bits<3> funct3,
52 : RVInstRMoprr<imm4, imm3, funct3, opcode, (outs GPR:$rd), (ins GPR:$rs1, GPR:$rs2),
H A DRISCVInstrFormats.td288 class RVInstRBase<bits<3> funct3, RISCVOpcode opcode, dag outs,
297 let Inst{14-12} = funct3;
302 class RVInstR<bits<7> funct7, bits<3> funct3, RISCVOpcode opcode, dag outs,
304 : RVInstRBase<funct3, opcode, outs, ins, opcodestr, argstr> {
308 class RVInstRAtomic<bits<5> funct5, bit aq, bit rl, bits<3> funct3,
311 : RVInstRBase<funct3, opcode, outs, ins, opcodestr, argstr> {
333 class RVInstR4<bits<2> funct2, bits<3> funct3, RISCVOpcode opcode, dag outs,
345 let Inst{14-12} = funct3;
370 class RVInstIBase<bits<3> funct3, RISCVOpcode opcode, dag outs, dag ins,
377 let Inst{14-12} = funct3;
[all …]
H A DRISCVInstrInfoC.td242 class CStackLoad<bits<3> funct3, string OpcodeStr,
244 : RVInst16CI<funct3, 0b10, (outs cls:$rd), (ins SPMem:$rs1, opnd:$imm),
248 class CStackStore<bits<3> funct3, string OpcodeStr,
250 : RVInst16CSS<funct3, 0b10, (outs), (ins cls:$rs2, SPMem:$rs1, opnd:$imm),
254 class CLoad_ri<bits<3> funct3, string OpcodeStr,
256 : RVInst16CL<funct3, 0b00, (outs cls:$rd), (ins GPRCMem:$rs1, opnd:$imm),
260 class CStore_rri<bits<3> funct3, string OpcodeStr,
262 : RVInst16CS<funct3, 0b00, (outs), (ins cls:$rs2,GPRCMem:$rs1, opnd:$imm),
266 class Bcz<bits<3> funct3, string OpcodeStr,
268 : RVInst16CB<funct3, 0b01, (outs), (ins cls:$rs1, simm9_lsb0:$imm),
[all …]
H A DRISCVInstrInfoA.td19 class LR_r<bit aq, bit rl, bits<3> funct3, string opcodestr>
20 : RVInstRAtomic<0b00010, aq, rl, funct3, OPC_AMO,
26 multiclass LR_r_aq_rl<bits<3> funct3, string opcodestr> {
27 def "" : LR_r<0, 0, funct3, opcodestr>;
28 def _AQ : LR_r<1, 0, funct3, opcodestr # ".aq">;
29 def _RL : LR_r<0, 1, funct3, opcodestr # ".rl">;
30 def _AQ_RL : LR_r<1, 1, funct3, opcodestr # ".aqrl">;
34 class SC_r<bit aq, bit rl, bits<3> funct3, string opcodestr>
35 : RVInstRAtomic<0b00011, aq, rl, funct3, OPC_AMO,
39 multiclass SC_r_aq_rl<bits<3> funct3, string opcodestr> {
[all …]
H A DRISCVInstrInfo.td507 class BranchCC_rri<bits<3> funct3, string opcodestr>
508 : RVInstB<funct3, OPC_BRANCH, (outs),
517 class Load_ri<bits<3> funct3, string opcodestr>
518 : RVInstI<funct3, OPC_LOAD, (outs GPR:$rd), (ins GPRMem:$rs1, simm12:$imm12),
532 class Store_rri<bits<3> funct3, string opcodestr>
533 : RVInstS<funct3, OPC_STORE, (outs),
546 class ALU_ri<bits<3> funct3, string opcodestr>
547 : RVInstI<funct3, OPC_OP_IMM, (outs GPR:$rd), (ins GPR:$rs1, simm12:$imm12),
552 class Shift_ri<bits<5> imm11_7, bits<3> funct3, string opcodestr>
553 : RVInstIShift<imm11_7, funct3, OPC_OP_IMM, (outs GPR:$rd),
[all …]
H A DRISCVInstrInfoZa.td44 class AMO_cas<bits<5> funct5, bit aq, bit rl, bits<3> funct3, string opcodestr,
46 : RVInstRAtomic<funct5, aq, rl, funct3, OPC_AMO,
50 multiclass AMO_cas_aq_rl<bits<5> funct5, bits<3> funct3, string opcodestr,
52 def "" : AMO_cas<funct5, 0, 0, funct3, opcodestr, RC>;
53 def _AQ : AMO_cas<funct5, 1, 0, funct3, opcodestr # ".aq", RC>;
54 def _RL : AMO_cas<funct5, 0, 1, funct3, opcodestr # ".rl", RC>;
55 def _AQ_RL : AMO_cas<funct5, 1, 1, funct3, opcodestr # ".aqrl", RC>;
H A DRISCVInstrInfoXVentana.td19 class VTMaskedMove<bits<3> funct3, string opcodestr>
20 : RVInstR<0b0000000, funct3, OPC_CUSTOM_3, (outs GPR:$rd),
H A DRISCVInstrInfoF.td160 class FPLoad_r<bits<3> funct3, string opcodestr, DAGOperand rty,
162 : RVInstI<funct3, OPC_LOAD_FP, (outs rty:$rd),
168 class FPStore_r<bits<3> funct3, string opcodestr, DAGOperand rty,
170 : RVInstS<funct3, OPC_STORE_FP, (outs),
190 class FPALU_rr<bits<7> funct7, bits<3> funct3, string opcodestr,
192 : RVInstR<funct7, funct3, OPC_OP_FP, (outs rty:$rd),
196 multiclass FPALU_rr_m<bits<7> funct7, bits<3> funct3, string opcodestr,
199 def Ext.Suffix : FPALU_rr<funct7, funct3, opcodestr, Ext.PrimaryTy, Commutable>;
218 class FPUnaryOp_r<bits<7> funct7, bits<5> rs2val, bits<3> funct3,
220 : RVInstR<funct7, funct3, OPC_OP_FP, (outs rdty:$rd), (ins rs1ty:$rs1),
[all …]
H A DRISCVInstrInfoZk.td56 class RVKUnary<bits<12> imm12, bits<3> funct3, string opcodestr>
57 : RVInstIUnary<imm12, funct3, OPC_OP_IMM, (outs GPR:$rd), (ins GPR:$rs1),
70 class RVKUnary_rnum<bits<7> funct7, bits<3> funct3, string opcodestr>
71 : RVInstIBase<funct3, OPC_OP_IMM, (outs GPR:$rd),
H A DRISCVInstrInfoZfa.td49 class FPBinaryOp_rr<bits<7> funct7, bits<3> funct3, DAGOperand rdty,
51 : RVInstR<funct7, funct3, OPC_OP_FP, (outs rdty:$rd),
55 class FPFLI_r<bits<7> funct7, bits<5> rs2val, bits<3> funct3,
57 : RVInstR<funct7, funct3, OPC_OP_FP, (outs rdty:$rd),
H A DRISCVInstrInfoXTHead.td81 class THShiftALU_rri<bits<3> funct3, string opcodestr>
82 : RVInstRBase<funct3, OPC_CUSTOM_0, (outs GPR:$rd),
92 class THShift_ri<bits<5> funct5, bits<3> funct3, string opcodestr>
93 : RVInstIShift<funct5, funct3, OPC_CUSTOM_0, (outs GPR:$rd),
97 class THBitfieldExtract_rii<bits<3> funct3, string opcodestr>
98 : RVInstIBase<funct3, OPC_CUSTOM_0, (outs GPR:$rd),
114 class THShiftW_ri<bits<7> funct7, bits<3> funct3, string opcodestr>
115 : RVInstIShiftW<funct7, funct3, OPC_CUSTOM_0, (outs GPR:$rd),
H A DRISCVInstrInfoZb.td252 class RVBUnary<bits<12> imm12, bits<3> funct3,
254 : RVInstIUnary<imm12, funct3, opcode, (outs GPR:$rd), (ins GPR:$rs1),
258 class RVBShift_ri<bits<5> imm11_7, bits<3> funct3, RISCVOpcode opcode,
260 : RVInstIShift<imm11_7, funct3, opcode, (outs GPR:$rd),
265 class RVBShiftW_ri<bits<7> imm11_5, bits<3> funct3, RISCVOpcode opcode,
267 : RVInstIShiftW<imm11_5, funct3, opcode, (outs GPR:$rd),
H A DRISCVInstrInfoXSf.td58 class RVInstVCCustom2<bits<4> funct6_hi4, bits<3> funct3, dag outs, dag ins,
72 let Inst{14-12} = funct3;
80 class RVInstVCFCustom2<bits<4> funct6_hi4, bits<3> funct3, dag outs, dag ins,
95 let Inst{14-12} = funct3;
/freebsd/contrib/llvm-project/compiler-rt/lib/sanitizer_common/
H A Dsanitizer_linux.cpp2124 unsigned funct3 = (faulty_instruction >> 12) & 0x7; // bits 12-14, inclusive in GetWriteFlag() local
2127 switch (funct3) { in GetWriteFlag()
2141 switch (funct3) { in GetWriteFlag()
2154 switch (funct3) { in GetWriteFlag()
2164 switch (funct3) { in GetWriteFlag()
/freebsd/contrib/llvm-project/lldb/source/Plugins/Instruction/RISCV/
H A DEmulateInstructionRISCV.cpp168 static bool CompareB(uint64_t rs1, uint64_t rs2, uint32_t funct3) { in CompareB() argument
169 switch (funct3) { in CompareB()
358 if (bne_exit.funct3 != BNE) in AtomicSequence()
374 if (bne_start.funct3 != BNE) in AtomicSequence()
714 CompareB(rs1, rs2, inst.funct3)) in operator ()()
H A DRISCVInstructions.h106 uint32_t funct3; member