Home
last modified time | relevance | path

Searched full:operand (Results 1 – 25 of 518) sorted by relevance

12345678910>>...21

/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/
Doperand.def16 DEFINE_MOP(Mem8S, {Operand::kOpdMem, operand::kIsUse, 8})
17 DEFINE_MOP(Mem8D, {Operand::kOpdMem, operand::kIsDef, 8})
18 DEFINE_MOP(Mem16S, {Operand::kOpdMem, operand::kIsUse, 16})
19 DEFINE_MOP(Mem16D, {Operand::kOpdMem, operand::kIsDef, 16})
20 DEFINE_MOP(Mem32D, {Operand::kOpdMem, operand::kIsDef, 32})
21 DEFINE_MOP(Mem32S, {Operand::kOpdMem, operand::kIsUse, 32})
22 DEFINE_MOP(Mem64D, {Operand::kOpdMem, operand::kIsDef, 64})
23 DEFINE_MOP(Mem64S, {Operand::kOpdMem, operand::kIsUse, 64})
24 DEFINE_MOP(Mem128D, {Operand::kOpdMem, operand::kIsDef, 128})
25 DEFINE_MOP(Mem128S, {Operand::kOpdMem, operand::kIsUse, 128})
[all …]
Disel.h45 Operand *HandleExpr(const BaseNode &parent, BaseNode &expr);
47 void SelectDassign(const DassignNode &stmt, Operand &opndRhs);
48 void SelectDassignoff(DassignoffNode &stmt, Operand &opnd0);
49 void SelectIassign(const IassignNode &stmt, Operand &opndAddr, Operand &opndRhs);
52 void SelectRegassign(RegassignNode &stmt, Operand &opnd0);
53 Operand *SelectDread(const BaseNode &parent, const AddrofNode &expr);
54Operand *SelectBand(const BinaryNode &node, Operand &opnd0, Operand &opnd1, const BaseNode &parent…
55Operand *SelectAdd(const BinaryNode &node, Operand &opnd0, Operand &opnd1, const BaseNode &parent);
56Operand *SelectSub(const BinaryNode &node, Operand &opnd0, Operand &opnd1, const BaseNode &parent);
57 Operand *SelectNeg(const UnaryNode &node, Operand &opnd0, const BaseNode &parent);
[all …]
Dcgfunc.h20 #include "operand.h"
202 Operand *HandleExpr(const BaseNode &parent, BaseNode &expr);
208 virtual void SelectDassign(DassignNode &stmt, Operand &opnd0) = 0;
209 virtual void SelectDassignoff(DassignoffNode &stmt, Operand &opnd0) = 0;
210 virtual void SelectRegassign(RegassignNode &stmt, Operand &opnd0) = 0;
217 virtual void SelectIassignfpoff(IassignFPoffNode &stmt, Operand &opnd) = 0;
218 virtual void SelectIassignspoff(PrimType pTy, int32 offset, Operand &opnd) = 0;
219 virtual void SelectBlkassignoff(BlkassignoffNode &bNode, Operand *src) = 0;
220 virtual void SelectAggIassign(IassignNode &stmt, Operand &lhsAddrOpnd) = 0;
222 virtual void SelectReturn(Operand *opnd) = 0;
[all …]
Debo.h42 explicit OpndInfo(Operand &opnd) : opnd(&opnd) {} in OpndInfo()
46 …int32 hashVal = 0; /* Mem operand is placed in hash table, this is the hashVal of it, and otherwis…
47 Operand *opnd; /* Operand */
48 Operand *replacementOpnd = nullptr; /* Rename opnd with this new name. */
59 OpndInfo *same = nullptr; /* Other definitions of the same operand. */
63 int32 refCount = 0; /* Number of references to the operand. */
67 explicit MemOpndInfo(Operand &opnd) : OpndInfo(opnd) {} in MemOpndInfo()
158 bool IsSaveReg(const Operand &opnd);
159 bool IsFrameReg(Operand &opnd) const;
160 bool OperandEqual(const Operand &op1, const Operand &op2) const;
[all …]
Dcg_irbuilder.h20 #include "operand.h"
37 Insn &BuildInsn(MOperator opCode, Operand &o0);
38 Insn &BuildInsn(MOperator opCode, Operand &o0, Operand &o1);
39 Insn &BuildInsn(MOperator opCode, Operand &o0, Operand &o1, Operand &o2);
40 Insn &BuildInsn(MOperator opCode, Operand &o0, Operand &o1, Operand &o2, Operand &o3);
41 …Insn &BuildInsn(MOperator opCode, Operand &o0, Operand &o1, Operand &o2, Operand &o3, Operand &o4);
42 Insn &BuildInsn(MOperator opCode, std::vector<Operand *> &opnds);
69 /* create an operand in cgfunc when no mempool is supplied */
Dreg_alloc_basic.h20 #include "operand.h"
32 allocatedSet(std::less<Operand *>(), alloc.Adapter()), in DefaultO0RegAllocator()
53 void AllocHandleDestList(Insn &insn, Operand &opnd, uint32 idx);
54 void AllocHandleDest(Insn &insn, Operand &opnd, uint32 idx);
55 void AllocHandleSrcList(Insn &insn, Operand &opnd, uint32 idx);
56 void AllocHandleSrc(Insn &insn, Operand &opnd, uint32 idx);
61 Operand *HandleRegOpnd(Operand &opnd);
62 Operand *HandleMemOpnd(Operand &opnd);
63 Operand *AllocSrcOpnd(Operand &opnd);
64 Operand *AllocDestOpnd(Operand &opnd, const Insn &insn);
[all …]
Doperand.h55 class Operand {
62 kOpdPhi, /* for phi operand */
65 kOpdOffset, /* for the offset operand in MemOperand */
67 kOpdList, /* for list operand */
68 kOpdShift, /* for imm shift operand */
69 kOpdRegShift, /* for reg shift operand */
70 kOpdExtend, /* for extend operand */
75 Operand(OperandType type, uint32 size) : opndKind(type), size(size) {} in Operand() function
76 virtual ~Operand() = default;
193 virtual Operand *Clone(MemPool &memPool) const = 0;
[all …]
Dcfi.h22 #include "operand.h"
64 …CfiInsn(MemPool &memPool, maplebe::MOperator op, maplebe::Operand &opnd0) : Insn(memPool, op, opnd… in CfiInsn()
66 … CfiInsn(MemPool &memPool, maplebe::MOperator op, maplebe::Operand &opnd0, maplebe::Operand &opnd1) in CfiInsn()
71 … CfiInsn(MemPool &memPool, maplebe::MOperator op, maplebe::Operand &opnd0, maplebe::Operand &opnd1, in CfiInsn()
72 maplebe::Operand &opnd2) in CfiInsn()
132 Operand *Clone(MemPool &memPool) const override in Clone()
134 Operand *opnd = memPool.Clone<RegOperand>(*this); in Clone()
140 bool Less(const Operand &right) const override in Less()
157 Operand *Clone(MemPool &memPool) const override in Clone()
159 Operand *opnd = memPool.Clone<ImmOperand>(*this); in Clone()
[all …]
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/x86_64/
Dx64_cgfunc.h53 void SelectDassign(DassignNode &stmt, Operand &opnd0) override;
54 void SelectDassignoff(DassignoffNode &stmt, Operand &opnd0) override;
55 void SelectRegassign(RegassignNode &stmt, Operand &opnd0) override;
62 void SelectIassignfpoff(IassignFPoffNode &stmt, Operand &opnd) override;
63 void SelectIassignspoff(PrimType pTy, int32 offset, Operand &opnd) override;
64 void SelectBlkassignoff(BlkassignoffNode &bNode, Operand *src) override;
65 void SelectAggIassign(IassignNode &stmt, Operand &lhsAddrOpnd) override;
67 void SelectReturn(Operand *opnd) override;
68 void SelectIgoto(Operand *opnd0) override;
69 void SelectCondGoto(CondGotoNode &stmt, Operand &opnd0, Operand &opnd1) override;
[all …]
Dx64_MPISel.h27 void SelectReturn(NaryStmtNode &retNode, Operand &opnd) override;
30 void SelectIcall(IcallNode &icallNode, Operand &opnd0) override;
31 Operand &ProcessReturnReg(PrimType primType, int32 sReg) override;
32 Operand &GetTargetRetOperand(PrimType primType, int32 sReg) override;
33 Operand *SelectAddrof(AddrofNode &expr, const BaseNode &parent) override;
34 Operand *SelectAddrofFunc(AddroffuncNode &expr, const BaseNode &parent) override;
35 Operand *SelectAddrofLabel(AddroflabelNode &expr, const BaseNode &parent) override;
36 Operand *SelectFloatingConst(MIRConst &floatingConst, PrimType primType) const override;
39 void SelectAggIassign(IassignNode &stmt, Operand &AddrOpnd, Operand &opndRhs) override;
40 …void SelectAggDassign(maplebe::MirTypeInfo &lhsInfo, MemOperand &symbolMem, Operand &opndRhs) over…
[all …]
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/aarch64/
Daarch64_cgfunc.h122 void SelectDassign(DassignNode &stmt, Operand &opnd0) override;
123 void SelectDassignoff(DassignoffNode &stmt, Operand &opnd0) override;
124 void SelectRegassign(RegassignNode &stmt, Operand &opnd0) override;
134 bool LmbcSmallAggForRet(const BlkassignoffNode &bNode, const Operand *src);
135 …bool LmbcSmallAggForCall(BlkassignoffNode &bNode, const Operand *src, std::vector<TyIdx> **parmLis…
139 void SelectIassignfpoff(IassignFPoffNode &stmt, Operand &opnd) override;
140 void SelectIassignspoff(PrimType pTy, int32 offset, Operand &opnd) override;
141 void SelectBlkassignoff(BlkassignoffNode &bNode, Operand *src) override;
142 void SelectAggIassign(IassignNode &stmt, Operand &lhsAddrOpnd) override;
144 void SelectReturn(Operand *opnd0) override;
[all …]
Daarch64_ico.h43 bool IsSetInsn(const Insn &insn, Operand *&dest, std::vector<Operand *> &src) const;
56 …bool BuildCondMovInsn(BB &cmpBB, const BB &bb, const std::map<Operand *, std::vector<Operand *>> &…
57 … const std::map<Operand *, std::vector<Operand *>> &elseDestSrcMap, bool elseBBIsProcessed,
60 …void GenerateInsnForImm(const Insn &branchInsn, Operand &ifDest, Operand &elseDest, RegOperand &de…
62Operand *GetDestReg(const std::map<Operand *, std::vector<Operand *>> &destSrcMap, const RegOperan…
63 …void GenerateInsnForReg(const Insn &branchInsn, Operand &ifDest, Operand &elseDest, RegOperand &de…
65 RegOperand *GenerateRegAndTempInsn(Operand &dest, const RegOperand &destReg,
68 bool CheckModifiedRegister(Insn &insn, std::map<Operand *, std::vector<Operand *>> &destSrcMap,
69 std::vector<Operand *> &src, Operand &dest, const Insn *cmpInsn,
70 const Operand *flagOpnd) const;
[all …]
Daarch64_ebo.h41 OpndInfo *OperandInfoDef(BB &currentBB, Insn &currentInsn, Operand &localOpnd) override;
42 const RegOperand &GetRegOperand(const Operand &opnd) const override;
45 bool OperandEqSpecial(const Operand &op1, const Operand &op2) const override;
46 bool DoConstProp(Insn &insn, uint32 i, Operand &opnd) override;
47 bool Csel2Cset(Insn &insn, const MapleVector<Operand *> &opnds) override;
48 bool SimplifyConstOperand(Insn &insn, const MapleVector<Operand *> &opnds,
60 bool ChangeLdrMop(Insn &insn, const Operand &opnd) const override;
67 bool LiveOutOfBB(const Operand &opnd, const BB &bb) const override;
69 bool IsZeroRegister(const Operand &opnd) const override;
70 bool IsConstantImmOrReg(const Operand &opnd) const override;
[all …]
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/x86_64/
Dx64_cgfunc.cpp20 #include "assembler/operand.h"
70 void X64CGFunc::SelectDassign(DassignNode &stmt, Operand &opnd0) in SelectDassign()
74 void X64CGFunc::SelectDassignoff(DassignoffNode &stmt, Operand &opnd0) in SelectDassignoff()
78 void X64CGFunc::SelectRegassign(RegassignNode &stmt, Operand &opnd0) in SelectRegassign()
106 void X64CGFunc::SelectIassignfpoff(IassignFPoffNode &stmt, Operand &opnd) in SelectIassignfpoff()
110 void X64CGFunc::SelectIassignspoff(PrimType pTy, int32 offset, Operand &opnd) in SelectIassignspoff()
114 void X64CGFunc::SelectBlkassignoff(BlkassignoffNode &bNode, Operand *src) in SelectBlkassignoff()
118 void X64CGFunc::SelectAggIassign(IassignNode &stmt, Operand &lhsAddrOpnd) in SelectAggIassign()
126 void X64CGFunc::SelectReturn(Operand *opnd) in SelectReturn()
130 void X64CGFunc::SelectIgoto(Operand *opnd0) in SelectIgoto()
[all …]
/arkcompiler/ets_runtime/ecmascript/compiler/assembler/aarch64/
Dassembler_aarch64.h157 class Operand {
159 Operand(Immediate imm) in Operand() function
164 Operand(Register reg, Shift shift = Shift::LSL, uint8_t shift_amount = 0)
168 Operand(Register reg, Extend extend, uint8_t shiftAmount = 0)
172 ~Operand() = default;
300 void Ldp(const Register &rt, const Register &rt2, const MemoryOperand &operand);
301 void Stp(const Register &rt, const Register &rt2, const MemoryOperand &operand);
302 void Ldp(const VectorRegister &vt, const VectorRegister &vt2, const MemoryOperand &operand);
303 void Stp(const VectorRegister &vt, const VectorRegister &vt2, const MemoryOperand &operand);
304 void Ldr(const Register &rt, const MemoryOperand &operand);
[all …]
Dassembler_aarch64.cpp89 void AssemblerAarch64::Ldp(const Register &rt, const Register &rt2, const MemoryOperand &operand) in Ldp() argument
92 if (operand.IsImmediateOffset()) { in Ldp()
93 switch (operand.GetAddrMode()) { in Ldp()
108 uint64_t imm = static_cast<uint64_t>(operand.GetImmediate().Value()); in Ldp()
115 Rn(operand.GetRegBase().GetId()) | Rt(rt.GetId()); in Ldp()
123 void AssemblerAarch64::Stp(const Register &rt, const Register &rt2, const MemoryOperand &operand) in Stp() argument
126 if (operand.IsImmediateOffset()) { in Stp()
127 switch (operand.GetAddrMode()) { in Stp()
142 uint64_t imm = static_cast<uint64_t>(operand.GetImmediate().Value()); in Stp()
149 Rn(operand.GetRegBase().GetId()) | Rt(rt.GetId()); in Stp()
[all …]
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/
Ddbg.cpp23 using maplebe::Operand;
29 /* create 3 OperandType array to store dbg instruction's operand type */
30 std::array<Operand::OperandType, 3> opndTypes;
34 #define DBG_DEFINE(k, sub, n, o0, o1, o2) {#k, n, {Operand::kOpd##o0, Operand::kOpd##o1, Operand::k…
37 {"undef", 0, {Operand::kOpdUndef, Operand::kOpdUndef, Operand::kOpdUndef}}};
46 Operand &curOperand = GetOperand(i); in Dump()
56 /* dbg instruction's 3rd /4th/5th operand must be null */ in Check()
58 Operand &opnd = GetOperand(i); in Check()
60 CHECK_FATAL(false, "incorrect operand in debug insn"); in Check()
Dcfi.cpp23 using maplebe::Operand;
29 /* create 3 OperandType array to store cfi instruction's operand type */
30 std::array<Operand::OperandType, 3> opndTypes;
34 …ne CFI_DEFINE(k, sub, n, o0, o1, o2) {".cfi_" #k, n, {Operand::kOpd##o0, Operand::kOpd##o1, Operan…
36 {"." #k, n, {Operand::kOpd##o0, Operand::kOpd##o1, Operand::kOpd##o2}},
40 {".cfi_undef", 0, {Operand::kOpdUndef, Operand::kOpdUndef, Operand::kOpdUndef}}};
49 Operand &curOperand = GetOperand(i); in Dump()
59 /* cfi instruction's 3rd /4th/5th operand must be null */ in Check()
61 Operand &opnd = GetOperand(i); in Check()
63 CHECK_FATAL(false, "incorrect operand in cfi insn"); in Check()
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()
148 Operand *opndRhs = iSel.HandleExpr(dassignNode, *rhs); in HandleDassign()
160 Operand *opnd0 = iSel.HandleExpr(dassignoffNode, *rhs); in HandleDassignoff()
170 Operand *opndRhs = iSel.HandleExpr(stmt, *rhs); in HandleIassign()
173 Operand *opndAddr = iSel.HandleExpr(stmt, *addr); in HandleIassign()
188 BaseNode *operand = regAssignNode.Opnd(0); in HandleRegassign() local
189 DEBUG_ASSERT(operand != nullptr, "get operand of regassignNode failed"); in HandleRegassign()
190 Operand *opnd0 = iSel.HandleExpr(regAssignNode, *operand); in HandleRegassign()
[all …]
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 &o3) in BuildInsn()
53 Insn &InsnBuilder::BuildInsn(MOperator opCode, Operand &o0, Operand &o1, Operand &o2, Operand &o3, in BuildInsn()
60 Insn &InsnBuilder::BuildInsn(MOperator opCode, std::vector<Operand *> &opnds) in BuildInsn()
Dcgfunc.cpp33 Operand *HandleDread(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleDread()
39 Operand *HandleRegread(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleRegread()
49 Operand *HandleConstVal(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleConstVal()
69 Operand *HandleConstStr(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleConstStr()
87 Operand *HandleConstStr16(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleConstStr16()
105 Operand *HandleAdd(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleAdd()
125 Operand *HandleCGArrayElemAdd(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleCGArrayElemAdd()
164 Operand *HandleShift(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleShift()
176 Operand *HandleRor(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleRor()
182 Operand *HandleMpy(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleMpy()
[all …]
/arkcompiler/runtime_core/static_core/plugins/ets/tests/ets-templates/07.expressions/29.conditional_expressions/02.numeric_conditional_expressions/
Dnumeric_condition_expression_type.ets16 {% for operand in operands %}
23 let x{{operand.type}} = {{operand.first}} ? {{operand.second}} : {{operand.third}};
24 assert {{operand.check}};
/arkcompiler/ets_runtime/ecmascript/compiler/trampoline/x64/
Doptimized_call.cpp65 __ Movq(Operand(rbx, 0), rdx); in JSFunctionEntry()
66 __ Movq(Operand(rbx, FRAME_SLOT_SIZE), rcx); in JSFunctionEntry()
67 __ Movq(Operand(rbx, DOUBLE_SLOT_SIZE), r8); in JSFunctionEntry()
84 __ Movq(prevFpReg, Operand(glueReg, JSThread::GlueData::GetLeaveFrameOffset(false))); in JSFunctionEntry()
124 __ Movq(Operand(rsp, DOUBLE_SLOT_SIZE), jsFuncReg); // sp + 16 get jsFunc in OptimizedCallAndPushUndefined()
125 __ Mov(Operand(jsFuncReg, JSFunctionBase::METHOD_OFFSET), method); // get method in OptimizedCallAndPushUndefined()
126 __ Mov(Operand(method, Method::CODE_ENTRY_OFFSET), codeAddrReg); in OptimizedCallAndPushUndefined()
129 __ Mov(Operand(method, Method::CALL_FIELD_OFFSET), methodCallField); // get call field in OptimizedCallAndPushUndefined()
134 __ Movl(Operand(rsp, FRAME_SLOT_SIZE), rdx); // argc rdx in OptimizedCallAndPushUndefined()
148 __ Leaq(Operand(rsp, FRAME_SLOT_SIZE), rbp); in OptimizedCallAndPushUndefined()
[all …]
/arkcompiler/ets_runtime/ecmascript/compiler/assembler/x64/
Dassembler_x64.h61 class Operand {
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 &src, Register dst);
[all …]
/arkcompiler/runtime_core/static_core/plugins/ets/doc/spec/
D7_expressions.rst336 - If the right-hand operand expression has the zero value, then integer
424 - Any right-hand operand is evaluated only after the full evaluation of the
425 left-hand operand of a binary operator.
428 the evaluation of the left-hand operand includes the following:
431 - Remembering the variable denoted by the left-hand operand,
433 of the right-hand operand, and
436 If the evaluation of the left-hand operand completes abruptly, then no
437 part of the right-hand operand is evaluated.
440 of every operand of an operator (except conditional operators '&&', '||',
458 operand
[all …]

12345678910>>...21