Home
last modified time | relevance | path

Searched refs:Operand (Results 1 - 25 of 106) sorted by relevance

12345

/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/
H A Disel.h45 Operand *HandleExpr(const BaseNode &parent, BaseNode &expr);
47 void SelectDassign(const DassignNode &stmt, Operand &opndRhs);
48 void SelectIassign(const IassignNode &stmt, Operand &opndAddr, Operand &opndRhs);
50 void SelectRegassign(RegassignNode &stmt, Operand &opnd0);
51 Operand *SelectDread(const BaseNode &parent, const AddrofNode &expr);
52 Operand *SelectBand(const BinaryNode &node, Operand &opnd0, Operand &opnd1, const BaseNode &parent);
53 Operand *SelectAd
[all...]
H A Dcgfunc.h174 Operand *HandleExpr(const BaseNode &parent, BaseNode &expr);
176 virtual void SelectDassign(DassignNode &stmt, Operand &opnd0) = 0;
177 virtual void SelectRegassign(RegassignNode &stmt, Operand &opnd0) = 0;
179 virtual void SelectReturn(Operand *opnd) = 0;
180 virtual void SelectCondGoto(CondGotoNode &stmt, Operand &opnd0, Operand &opnd1) = 0;
187 virtual Operand *SelectCclz(IntrinsicopNode &intrinsicopNode) = 0;
191 virtual Operand *SelectDread(const BaseNode &parent, AddrofNode &expr) = 0;
193 virtual Operand *SelectIread(const BaseNode &parent, IreadNode &expr, int extraOffset = 0,
195 virtual Operand *SelectIntCons
[all...]
H A Dcg_irbuilder.h38 Insn &BuildInsn(MOperator opCode, Operand &o0);
39 Insn &BuildInsn(MOperator opCode, Operand &o0, Operand &o1);
40 Insn &BuildInsn(MOperator opCode, Operand &o0, Operand &o1, Operand &o2);
41 Insn &BuildInsn(MOperator opCode, Operand &o0, Operand &o1, Operand &o2, Operand
[all...]
H A Dcfi.h66 CfiInsn(MemPool &memPool, maplebe::MOperator op, maplebe::Operand &opnd0) : Insn(memPool, op, opnd0) {} in CfiInsn()
68 CfiInsn(MemPool &memPool, maplebe::MOperator op, maplebe::Operand &opnd0, maplebe::Operand &opnd1) in CfiInsn()
73 CfiInsn(MemPool &memPool, maplebe::MOperator op, maplebe::Operand &opnd0, maplebe::Operand &opnd1, in CfiInsn()
74 maplebe::Operand &opnd2) in CfiInsn()
140 Operand *Clone(MemPool &memPool) const override
142 Operand *opnd = memPool.Clone<RegOperand>(*this);
148 bool Less(const Operand &right) const override
171 Operand *Clon
[all...]
H A Dinsn.h61 Insn(MemPool &memPool, MOperator opc, Operand &opnd0) : Insn(memPool, opc) in Insn()
65 Insn(MemPool &memPool, MOperator opc, Operand &opnd0, Operand &opnd1) : Insn(memPool, opc) in Insn()
70 Insn(MemPool &memPool, MOperator opc, Operand &opnd0, Operand &opnd1, Operand &opnd2) : Insn(memPool, opc) in Insn()
76 Insn(MemPool &memPool, MOperator opc, Operand &opnd0, Operand &opnd1, Operand &opnd2, Operand in Insn()
[all...]
H A Doperand.h54 class Operand { class
74 Operand(OperandType type, uint32 size) : opndKind(type), size(size) {} in Operand() function in maplebe::Operand
75 virtual ~Operand() = default;
193 virtual Operand *CloneTree(MapleAllocator &allocator) const = 0;
194 virtual Operand *Clone(MemPool &memPool) const = 0;
200 virtual bool Equals(Operand &op) const in Equals()
205 bool BasicEquals(const Operand &op) const in BasicEquals()
212 virtual bool Less(const Operand &right) const = 0;
227 class OperandVisitable : public Operand {
229 using Operand
[all...]
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/x86_64/
H A Dx64_cgfunc.h43 void SelectDassign(DassignNode &stmt, Operand &opnd0) override;
44 void SelectRegassign(RegassignNode &stmt, Operand &opnd0) override;
46 void SelectReturn(Operand *opnd) override;
47 void SelectCondGoto(CondGotoNode &stmt, Operand &opnd0, Operand &opnd1) override;
54 Operand *SelectCclz(IntrinsicopNode &intrinopNode) override;
56 Operand *SelectDread(const BaseNode &parent, AddrofNode &expr) override;
58 Operand *SelectIread(const BaseNode &parent, IreadNode &expr, int extraOffset = 0,
60 Operand *SelectIntConst(const MIRIntConst &intConst, const BaseNode &parent) override;
61 Operand *SelectFloatCons
[all...]
H A Dx64_MPISel.h27 void SelectReturn(NaryStmtNode &retNode, Operand &opnd) override;
31 Operand &ProcessReturnReg(PrimType primType, int32 sReg) override;
32 Operand &GetTargetRetOperand(PrimType primType, int32 sReg) override;
33 Operand *SelectFloatingConst(MIRConst &floatingConst, PrimType primType) const override;
36 void SelectRangeGoto(RangeGotoNode &rangeGotoNode, Operand &srcOpnd) override;
37 void SelectCondGoto(CondGotoNode &stmt, BaseNode &condNode, Operand &opnd0) override;
38 Operand *SelectDiv(BinaryNode &node, Operand &opnd0, Operand &opnd1, const BaseNode &parent) override;
39 Operand *SelectRe
[all...]
H A Dx64_emitter.h34 assembler::Reg TransferReg(Operand *opnd) const;
35 std::pair<int64, bool> TransferImm(Operand *opnd);
36 assembler::Mem TransferMem(Operand *opnd, uint32 funcUniqueId);
37 int64 TransferLabel(Operand *opnd, uint32 funcUniqueId);
38 uint32 TransferFuncName(Operand *opnd);
H A Dx64_isa_tbl.h27 static const X64MOP_t cmpIselMap##SIZE[Operand::OperandType::kOpdPhi][Operand::OperandType::kOpdPhi] = { \
38 static inline X64MOP_t GetCmpMop(Operand::OperandType dTy, Operand::OperandType sTy, PrimType primType) in GetCmpMop()
70 using SetIselMappingType = std::unordered_map<maple::Opcode, std::array<X64MOP_t, Operand::OperandType::kOpdPhi>>;
85 static inline X64MOP_t GetSetCCMop(maple::Opcode opcode, Operand::OperandType dTy, bool isSigned, bool isFloat) in GetSetCCMop()
87 DEBUG_ASSERT(dTy < Operand::OperandType::kOpdPhi, "illegal operand type"); in GetSetCCMop()
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/x86_64/
H A Dx64_cgfunc.cpp27 void X64CGFunc::SelectDassign(DassignNode &stmt, Operand &opnd0) in SelectDassign()
31 void X64CGFunc::SelectRegassign(RegassignNode &stmt, Operand &opnd0) in SelectRegassign()
39 void X64CGFunc::SelectReturn(Operand *opnd) in SelectReturn()
43 void X64CGFunc::SelectCondGoto(CondGotoNode &stmt, Operand &opnd0, Operand &opnd1) in SelectCondGoto()
71 Operand *X64CGFunc::SelectCclz(IntrinsicopNode &intrinopNode) in SelectCclz()
80 Operand *X64CGFunc::SelectDread(const BaseNode &parent, AddrofNode &expr) in SelectDread()
90 Operand *X64CGFunc::SelectIread(const BaseNode &parent, IreadNode &expr, int extraOffset, in SelectIread()
96 Operand *X64CGFunc::SelectIntConst(const MIRIntConst &intConst, const BaseNode &parent) in SelectIntConst()
101 Operand *X64CGFun in SelectIntConst()
[all...]
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/aarch64/
H A Daarch64_cgfunc.h90 void SelectDassign(DassignNode &stmt, Operand &opnd0) override;
91 void SelectRegassign(RegassignNode &stmt, Operand &opnd0) override;
93 void SelectReturn(Operand *opnd0) override;
95 void SelectParmListPassByStack(const MIRType &mirType, Operand &opnd, uint32 memOffset, bool preCopyed,
97 void SelectCondGoto(CondGotoNode &stmt, Operand &opnd0, Operand &opnd1) override;
98 void SelectCondGoto(LabelOperand &targetOpnd, Opcode jmpOp, Opcode cmpOp, Operand &opnd0, Operand &opnd1,
106 Operand *SelectCclz(IntrinsicopNode &intrinsicopNode) override;
109 Operand *SelectDrea
[all...]
H A Daarch64_mop_valid.h24 inline bool StrLdr8Valid(Operand *o) in StrLdr8Valid()
32 inline bool StrLdr16Valid(Operand *o) in StrLdr16Valid()
48 inline bool StrLdr32Valid(Operand *o) in StrLdr32Valid()
64 inline bool StrLdr32PairValid(Operand *o) in StrLdr32PairValid()
75 inline bool StrLdr64Valid(Operand *o) in StrLdr64Valid()
91 inline bool StrLdr64PairValid(Operand *o) in StrLdr64PairValid()
102 inline bool StrLdr128Valid(Operand *o) in StrLdr128Valid()
118 inline bool StrLdr128PairValid(Operand *o) in StrLdr128PairValid()
128 inline bool IsOfstZero(Operand *o) in IsOfstZero()
137 inline bool MOP_wmovri32Valid(const MapleVector<Operand *>
[all...]
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/
H A Dcfi.cpp21 using maplebe::Operand;
27 std::array<Operand::OperandType, 3> opndTypes;
31 #define CFI_DEFINE(k, sub, n, o0, o1, o2) {".cfi_" #k, n, {Operand::kOpd##o0, Operand::kOpd##o1, Operand::kOpd##o2}},
33 {"." #k, n, {Operand::kOpd##o0, Operand::kOpd##o1, Operand::kOpd##o2}},
37 {".cfi_undef", 0, {Operand::kOpdUndef, Operand
[all...]
H A Disel.cpp26 MOperator fastIselMapI##SIZE[Operand::OperandType::kOpdPhi][Operand::OperandType::kOpdPhi] = { \
33 MOperator fastIselMapF##SIZE[Operand::OperandType::kOpdPhi][Operand::OperandType::kOpdPhi] = { \
68 MOperator GetFastIselMop(Operand::OperandType dTy, Operand::OperandType sTy, PrimType type) in GetFastIselMop()
146 Operand *opndRhs = iSel.HandleExpr(dassignNode, *rhs); in HandleDassign()
159 Operand *opndRhs = iSel.HandleExpr(stmt, *rhs); in HandleIassign()
162 Operand *opndAddr = iSel.HandleExpr(stmt, *addr); in HandleIassign()
175 Operand *opnd in HandleRegassign()
[all...]
H A Dcg_irbuilder.cpp31 Insn &InsnBuilder::BuildInsn(MOperator opCode, Operand &o0) in BuildInsn()
36 Insn &InsnBuilder::BuildInsn(MOperator opCode, Operand &o0, Operand &o1) in BuildInsn()
41 Insn &InsnBuilder::BuildInsn(MOperator opCode, Operand &o0, Operand &o1, Operand &o2) in BuildInsn()
47 Insn &InsnBuilder::BuildInsn(MOperator opCode, Operand &o0, Operand &o1, Operand &o2, Operand
[all...]
/arkcompiler/ets_runtime/ecmascript/compiler/trampoline/x64/
H A Doptimized_call.cpp64 __ Movq(Operand(rbx, 0), rdx); in JSFunctionEntry()
65 __ Movq(Operand(rbx, FRAME_SLOT_SIZE), rcx); in JSFunctionEntry()
66 __ Movq(Operand(rbx, DOUBLE_SLOT_SIZE), r8); in JSFunctionEntry()
83 __ Movq(prevFpReg, Operand(glueReg, JSThread::GlueData::GetLeaveFrameOffset(false))); in JSFunctionEntry()
128 __ Movq(Operand(rsp, funcSlotOffset * FRAME_SLOT_SIZE), jsFuncReg); // sp + 24 get jsFunc in OptimizedCallAndPushArgv()
129 __ Mov(Operand(jsFuncReg, JSFunctionBase::METHOD_OFFSET), method); // get method in OptimizedCallAndPushArgv()
130 __ Mov(Operand(jsFuncReg, JSFunctionBase::CODE_ENTRY_OFFSET), codeAddrReg); in OptimizedCallAndPushArgv()
133 __ Mov(Operand(method, Method::CALL_FIELD_OFFSET), methodCallField); // get call field in OptimizedCallAndPushArgv()
138 __ Movl(Operand(rsp, FRAME_SLOT_SIZE), rdx); // argc rdx in OptimizedCallAndPushArgv()
149 __ Leaq(Operand(rs in OptimizedCallAndPushArgv()
[all...]
H A Dasm_interpreter_call.cpp95 __ Movq(Operand(rsi, GeneratorContext::GENERATOR_METHOD_OFFSET), callTargetRegister); in GeneratorReEnterAsmInterpDispatch()
96 __ Movq(Operand(callTargetRegister, JSFunctionBase::METHOD_OFFSET), methodRegister); in GeneratorReEnterAsmInterpDispatch()
106 __ Movl(Operand(rsi, GeneratorContext::GENERATOR_NREGS_OFFSET), nRegsRegister); in GeneratorReEnterAsmInterpDispatch()
107 __ Movq(Operand(rsi, GeneratorContext::GENERATOR_THIS_OFFSET), thisRegister); in GeneratorReEnterAsmInterpDispatch()
108 __ Movq(Operand(rsi, GeneratorContext::GENERATOR_REGS_ARRAY_OFFSET), regsArrayRegister); in GeneratorReEnterAsmInterpDispatch()
148 __ Movq(Operand(callTargetRegister, TaggedObject::HCLASS_OFFSET), tempRegister); // hclass in AsmInterpEntryDispatch()
149 __ Movq(Operand(tempRegister, JSHClass::BIT_FIELD_OFFSET), bitFieldRegister); in AsmInterpEntryDispatch()
168 __ Leaq(Operand(argvRegister, NUM_MANDATORY_JSFUNC_ARGS * JSTaggedValue::TaggedTypeSize()), in AsmInterpEntryDispatch()
182 __ Movq(Operand(rax, trampolineIdRegister, Times8, JSThread::GlueData::GetRTStubEntriesOffset(false)), in AsmInterpEntryDispatch()
196 __ Movq(Operand(methodRegiste in PushFrameState()
[all...]
H A Doptimized_fast_call.cpp51 __ Movq(Operand(r8, 0), rsi); // func in OptimizedFastCallEntry()
52 __ Movq(Operand(r8, FRAME_SLOT_SIZE), rdx); // thisobj in OptimizedFastCallEntry()
61 __ Movq(prevFpReg, Operand(glueReg, JSThread::GlueData::GetLeaveFrameOffset(false))); in OptimizedFastCallEntry()
116 __ Leaq(Operand(rsp, 8 * FRAME_SLOT_SIZE), argvReg); // 8: skip 8 frames to get argv in OptimizedFastCallAndPushArgv()
117 __ Mov(Operand(jsFuncReg, JSFunctionBase::METHOD_OFFSET), method); // get method in OptimizedFastCallAndPushArgv()
118 __ Mov(Operand(jsFuncReg, JSFunctionBase::CODE_ENTRY_OFFSET), codeAddrReg); // get codeAddress in OptimizedFastCallAndPushArgv()
119 __ Mov(Operand(method, Method::CALL_FIELD_OFFSET), methodCallField); // get call field in OptimizedFastCallAndPushArgv()
137 __ Movq(Operand(argvReg, 0), rcx); in OptimizedFastCallAndPushArgv()
149 __ Movq(Operand(argvReg, 0), r8); in OptimizedFastCallAndPushArgv()
160 __ Movq(Operand(argvRe in OptimizedFastCallAndPushArgv()
[all...]
H A Dcommon_call.cpp37 __ Movq(Operand(argV, argc, Scale::Times8, -FRAME_SLOT_SIZE), arg); // -8: stack index in CopyArgumentWithArgV()
49 __ Leaq(Operand(rsp, 24), rbp); // 24: skip pc, prevSp and frame type in PushAsmInterpBridgeFrame()
60 __ Movq(Operand(rbp, FRAME_SLOT_SIZE), r13); in GetArgvAtStack()
61 __ Movq(Operand(rbp, 2 * FRAME_SLOT_SIZE), r14); // 2: skip second argv in GetArgvAtStack()
98 __ Movq(Operand(argv, opArgc, Times8, -8), op); // 8: 8 bytes argv crash rdx=0x8 in PushArgsWithArgvAndCheckStack()
114 __ Movq(Operand(glue, JSThread::GlueData::GetStackLimitOffset(false)), temp1); in StackOverflowCheck()
130 __ Leaq(Operand(rsp, FRAME_SLOT_SIZE), rbp); in PushAsmBridgeFrame()
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/aarch64/
H A Daarch64_cgfunc.cpp169 void AArch64CGFunc::SelectCopyImm(Operand &dest, PrimType dType, ImmOperand &src, PrimType sType) in SelectCopyImm()
180 void AArch64CGFunc::SelectCopyImm(Operand &dest, ImmOperand &src, PrimType dtype) in SelectCopyImm()
300 void AArch64CGFunc::SelectCopyMemOpnd(Operand &dest, PrimType dtype, uint32 dsize, Operand &src, PrimType stype) in SelectCopyMemOpnd()
376 void AArch64CGFunc::SelectCopyRegOpnd(Operand &dest, PrimType dtype, Operand::OperandType opndType, uint32 dsize, in SelectCopyRegOpnd()
377 Operand &src, PrimType stype) in SelectCopyRegOpnd()
379 if (opndType != Operand::kOpdMem) { in SelectCopyRegOpnd()
440 void AArch64CGFunc::SelectCopy(Operand &dest, PrimType dtype, Operand
[all...]
H A Daarch64_emitter.cpp129 Operand &opnd = insn->GetOperand(i); in RecordRegInfo()
633 Operand *opnd0 = &insn.GetOperand(kInsnFirstOpnd); in EmitClinitTail()
660 Operand *opnd0 = &insn.GetOperand(kInsnFirstOpnd); in EmitLazyLoad()
661 Operand *opnd1 = &insn.GetOperand(kInsnSecondOpnd); in EmitLazyLoad()
698 Operand *opnd0 = &insn.GetOperand(kInsnFirstOpnd); in EmitCounter()
699 Operand *opnd1 = &insn.GetOperand(kInsnSecondOpnd); in EmitCounter()
743 Operand *opnd0 = &insn.GetOperand(kInsnFirstOpnd); in EmitAdrpLabel()
744 Operand *opnd1 = &insn.GetOperand(kInsnSecondOpnd); in EmitAdrpLabel()
777 Operand *opnd0 = &insn.GetOperand(kInsnFirstOpnd); in EmitAdrpLdr()
778 Operand *opnd in EmitAdrpLdr()
[all...]
/arkcompiler/ets_runtime/ecmascript/compiler/assembler/x64/
H A Dmacro_assembler_x64.cpp25 x64::Operand dstOpnd(baseReg, dstStackSlot.GetOffset()); in Move()
35 x64::Operand srcOpnd(srcBaseReg, srcStackSlot.GetOffset()); in Move()
36 x64::Operand dstOpnd(dstBaseReg, dstStackSlot.GetOffset()); in Move()
44 x64::Operand opnd(baseReg, stackSlot.GetOffset()); in Cmp()
72 x64::Operand dstOpnd(dstBaseReg, dstStackSlot.GetOffset()); in SaveReturnRegister()
86 assembler.Movq(x64::Operand(x64::rbp, FUNCTION_OFFSET_FROM_SP), LOCAL_SCOPE_REGISTER); in MovParameterIntoParamReg()
88 x64::Operand(LOCAL_SCOPE_REGISTER, JSFunction::RAW_PROFILE_TYPE_INFO_OFFSET), in MovParameterIntoParamReg()
90 assembler.Movq(x64::Operand(LOCAL_SCOPE_REGISTER, ProfileTypeInfoCell::VALUE_OFFSET), paramReg); in MovParameterIntoParamReg()
98 assembler.Movq(x64::Operand(x64::rbp, FUNCTION_OFFSET_FROM_SP), LOCAL_SCOPE_REGISTER); in MovParameterIntoParamReg()
100 x64::Operand(LOCAL_SCOPE_REGISTE in MovParameterIntoParamReg()
[all...]
H A Dassembler_x64.h61 class Operand { class
63 Operand(Register base, int32_t disp);
64 Operand(Register base, Register index, Scale scale, int32_t disp);
65 Operand(Register index, Scale scale, int32_t disp);
66 ~Operand() = default;
95 void Movq(const Operand &src, Register dst);
96 void Movq(Register src, const Operand &dst);
97 void Movq(Immediate src, Operand dst);
99 void Mov(const Operand &src, Register dst);
142 void Leaq(const Operand
[all...]
/arkcompiler/ets_runtime/ecmascript/compiler/assembler/aarch64/
H A Dassembler_aarch64.h157 class Operand { class
159 Operand(Immediate imm) in Operand() function in panda::ecmascript::aarch64::Operand
164 Operand(Register reg, Shift shift = Shift::LSL, uint8_t shift_amount = 0) in Operand() function in panda::ecmascript::aarch64::Operand
168 Operand(Register reg, Extend extend, uint8_t shiftAmount = 0) in Operand() function in panda::ecmascript::aarch64::Operand
172 ~Operand() = default;
316 void Orr(const Register &rd, const Register &rn, const Operand &operand);
317 void And(const Register &rd, const Register &rn, const Operand &operand);
318 void Ands(const Register &rd, const Register &rn, const Operand &operand);
327 void Add(const Register &rd, const Register &rn, const Operand &operand);
328 void Adds(const Register &rd, const Register &rn, const Operand
[all...]

Completed in 24 milliseconds

12345