Home
last modified time | relevance | path

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

12345678910>>...20

/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"
281 Operand *HandleExpr(const BaseNode &parent, BaseNode &expr);
286 virtual void SelectDassign(DassignNode &stmt, Operand &opnd0) = 0;
287 virtual void SelectDassignoff(DassignoffNode &stmt, Operand &opnd0) = 0;
288 virtual void SelectRegassign(RegassignNode &stmt, Operand &opnd0) = 0;
295 virtual void SelectIassignfpoff(IassignFPoffNode &stmt, Operand &opnd) = 0;
296 virtual void SelectIassignspoff(PrimType pTy, int32 offset, Operand &opnd) = 0;
297 virtual void SelectBlkassignoff(BlkassignoffNode &bNode, Operand *src) = 0;
298 virtual void SelectAggIassign(IassignNode &stmt, Operand &lhsAddrOpnd) = 0;
300 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()
156 bool IsSaveReg(const Operand &opnd);
157 bool IsFrameReg(Operand &opnd) const;
158 bool OperandEqual(const Operand &op1, const Operand &op2) const;
[all …]
Dreg_alloc_basic.h20 #include "operand.h"
32 allocatedSet(std::less<Operand *>(), alloc.Adapter()), in DefaultO0RegAllocator()
52 void AllocHandleDestList(Insn &insn, Operand &opnd, uint32 idx);
53 void AllocHandleDest(Insn &insn, Operand &opnd, uint32 idx);
54 void AllocHandleSrcList(Insn &insn, Operand &opnd, uint32 idx);
55 void AllocHandleSrc(Insn &insn, Operand &opnd, uint32 idx);
59 Operand *HandleRegOpnd(Operand &opnd);
60 Operand *HandleMemOpnd(Operand &opnd);
61 Operand *AllocSrcOpnd(Operand &opnd);
62 Operand *AllocDestOpnd(Operand &opnd, const Insn &insn);
[all …]
Dcg_irbuilder.h21 #include "operand.h"
38 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 &o3);
42 …Insn &BuildInsn(MOperator opCode, Operand &o0, Operand &o1, Operand &o2, Operand &o3, Operand &o4);
43 Insn &BuildInsn(MOperator opCode, std::vector<Operand *> &opnds);
84 /* create an operand in cgfunc when no mempool is supplied */
Dcfi.h22 #include "operand.h"
66 …CfiInsn(MemPool &memPool, maplebe::MOperator op, maplebe::Operand &opnd0) : Insn(memPool, op, opnd… 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()
145 Operand *Clone(MemPool &memPool) const override in Clone()
147 Operand *opnd = memPool.Clone<RegOperand>(*this); in Clone()
153 bool Less(const Operand &right) const override in Less()
176 Operand *Clone(MemPool &memPool) const override in Clone()
178 Operand *opnd = memPool.Clone<ImmOperand>(*this); in Clone()
[all …]
Doperand.h54 class Operand {
61 kOpdPhi, /* for phi operand */
64 kOpdOffset, /* for the offset operand in MemOperand */
66 kOpdList, /* for list operand */
67 kOpdShift, /* for imm shift operand */
68 kOpdRegShift, /* for reg shift operand */
69 kOpdExtend, /* for extend operand */
74 Operand(OperandType type, uint32 size) : opndKind(type), size(size) {} in Operand() function
75 virtual ~Operand() = default;
193 virtual Operand *CloneTree(MapleAllocator &allocator) const = 0;
[all …]
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/x86_64/
Dx64_cgfunc.h52 void SelectDassign(DassignNode &stmt, Operand &opnd0) override;
53 void SelectDassignoff(DassignoffNode &stmt, Operand &opnd0) override;
54 void SelectRegassign(RegassignNode &stmt, Operand &opnd0) override;
61 void SelectIassignfpoff(IassignFPoffNode &stmt, Operand &opnd) override;
62 void SelectIassignspoff(PrimType pTy, int32 offset, Operand &opnd) override;
63 void SelectBlkassignoff(BlkassignoffNode &bNode, Operand *src) override;
64 void SelectAggIassign(IassignNode &stmt, Operand &lhsAddrOpnd) override;
66 void SelectReturn(Operand *opnd) override;
67 void SelectIgoto(Operand *opnd0) override;
68 void SelectCondGoto(CondGotoNode &stmt, Operand &opnd0, Operand &opnd1) override;
[all …]
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 *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…
42 void SelectRangeGoto(RangeGotoNode &rangeGotoNode, Operand &srcOpnd) override;
[all …]
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/aarch64/
Daarch64_cgfunc.h133 void SelectDassign(DassignNode &stmt, Operand &opnd0) override;
134 void SelectDassignoff(DassignoffNode &stmt, Operand &opnd0) override;
135 void SelectRegassign(RegassignNode &stmt, Operand &opnd0) override;
147 …bool LmbcSmallAggForRet(const BaseNode &bNode, const Operand *src, int32 offset = 0, bool skip1 = …
148 …bool LmbcSmallAggForCall(BlkassignoffNode &bNode, const Operand *src, std::vector<TyIdx> **parmLis…
152 void SelectIassignfpoff(IassignFPoffNode &stmt, Operand &opnd) override;
153 void SelectIassignspoff(PrimType pTy, int32 offset, Operand &opnd) override;
154 void SelectBlkassignoff(BlkassignoffNode &bNode, Operand *src) override;
155 void SelectAggIassign(IassignNode &stmt, Operand &lhsAddrOpnd) override;
157 void SelectReturn(Operand *opnd0) override;
[all …]
Daarch64_mop_valid.h20 #include "operand.h"
24 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()
[all …]
Daarch64_ico.h43 bool IsSetInsn(const Insn &insn, Operand *&dest, std::vector<Operand *> &src) const;
59 …bool BuildCondMovInsn(BB &cmpBB, const BB &bb, const std::map<Operand *, std::vector<Operand *>> &…
60 … const std::map<Operand *, std::vector<Operand *>> &elseDestSrcMap, bool elseBBIsProcessed,
62 …void GenerateInsnForImm(const Insn &branchInsn, Operand &ifDest, Operand &elseDest, RegOperand &de…
64Operand *GetDestReg(const std::map<Operand *, std::vector<Operand *>> &destSrcMap, const RegOperan…
65 …void GenerateInsnForReg(const Insn &branchInsn, Operand &ifDest, Operand &elseDest, RegOperand &de…
67 RegOperand *GenerateRegAndTempInsn(Operand &dest, const RegOperand &destReg,
70 bool CheckCondMoveBB(BB *bb, std::map<Operand *, std::vector<Operand *>> &destSrcMap,
71 … std::vector<Operand *> &destRegs, std::vector<Insn *> &setInsn, Operand *flagReg,
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/x86_64/
Dx64_cgfunc.cpp20 #include "assembler/operand.h"
66 void X64CGFunc::SelectDassign(DassignNode &stmt, Operand &opnd0) in SelectDassign()
70 void X64CGFunc::SelectDassignoff(DassignoffNode &stmt, Operand &opnd0) in SelectDassignoff()
74 void X64CGFunc::SelectRegassign(RegassignNode &stmt, Operand &opnd0) in SelectRegassign()
102 void X64CGFunc::SelectIassignfpoff(IassignFPoffNode &stmt, Operand &opnd) in SelectIassignfpoff()
106 void X64CGFunc::SelectIassignspoff(PrimType pTy, int32 offset, Operand &opnd) in SelectIassignspoff()
110 void X64CGFunc::SelectBlkassignoff(BlkassignoffNode &bNode, Operand *src) in SelectBlkassignoff()
114 void X64CGFunc::SelectAggIassign(IassignNode &stmt, Operand &lhsAddrOpnd) in SelectAggIassign()
122 void X64CGFunc::SelectReturn(Operand *opnd) in SelectReturn()
126 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.cpp90 void AssemblerAarch64::Ldp(const Register &rt, const Register &rt2, const MemoryOperand &operand) in Ldp() argument
93 if (operand.IsImmediateOffset()) { in Ldp()
94 switch (operand.GetAddrMode()) { in Ldp()
109 uint64_t imm = static_cast<uint64_t>(operand.GetImmediate().Value()); in Ldp()
116 Rn(operand.GetRegBase().GetId()) | Rt(rt.GetId()); in Ldp()
124 void AssemblerAarch64::Stp(const Register &rt, const Register &rt2, const MemoryOperand &operand) in Stp() argument
127 if (operand.IsImmediateOffset()) { in Stp()
128 switch (operand.GetAddrMode()) { in Stp()
143 uint64_t imm = static_cast<uint64_t>(operand.GetImmediate().Value()); in Stp()
150 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()
55 /* dbg instruction's 3rd /4th/5th operand must be null */ in CheckMD()
57 Operand &opnd = GetOperand(i); in CheckMD()
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()
58 /* cfi instruction's 3rd /4th/5th operand must be null */ in CheckMD()
60 Operand &opnd = GetOperand(i); in CheckMD()
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()
158 Operand *opnd0 = iSel.HandleExpr(dassignoffNode, *rhs); in HandleDassignoff()
168 Operand *opndRhs = iSel.HandleExpr(stmt, *rhs); in HandleIassign()
171 Operand *opndAddr = iSel.HandleExpr(stmt, *addr); in HandleIassign()
186 BaseNode *operand = regAssignNode.Opnd(0); in HandleRegassign() local
187 DEBUG_ASSERT(operand != nullptr, "get operand of regassignNode failed"); in HandleRegassign()
188 Operand *opnd0 = iSel.HandleExpr(regAssignNode, *operand); in HandleRegassign()
[all …]
Dcgfunc.cpp98 Operand *HandleDread(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleDread()
104 Operand *HandleRegread(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleRegread()
111 Operand *HandleConstVal(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleConstVal()
131 Operand *HandleConstStr(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleConstStr()
149 Operand *HandleConstStr16(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleConstStr16()
167 Operand *HandleAdd(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleAdd()
187 Operand *HandleCGArrayElemAdd(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleCGArrayElemAdd()
226 Operand *HandleShift(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleShift()
238 Operand *HandleRor(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleRor()
244 Operand *HandleMpy(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleMpy()
[all …]
/arkcompiler/runtime_core/static_core/plugins/ets/tests/ets-templates/07.expressions/30.conditional_expressions/
Dnumeric_condition_expression_type.sts16 {% for operand in operands %}
23 let x{{operand.type}} = {{operand.first}} ? {{operand.second}} : {{operand.third}};
24 assert {{operand.check}};
Dtype_of_numeric_condition_expression_type.sts16 {% for operand in operands %}
24 let x = {{operand.first}} ? {{operand.second}} : {{operand.third}};
25 assert {{operand.check}};
/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/ets_runtime/ecmascript/compiler/trampoline/x64/
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(rsp, FRAME_SLOT_SIZE), rbp); in OptimizedCallAndPushArgv()
[all …]
/arkcompiler/runtime_core/static_core/plugins/ets/tests/ets-templates/07.expressions/29.assignment/01.simple_assignment_operator/
Dord24.sts18 …If the left-hand operand is an array access expression (§7.12), possibly enclosed in one or more p…
19 - First, the array reference subexpression of the left-hand operand is evaluated.
21 abruptly for the same reason; the index subexpression and the right-hand operand
23 - Otherwise, the index subexpression of the left-hand operand is evaluated.
25 abruptly for the same reason; the right-hand operand is not evaluated and no assignment occurs.
26 - Otherwise, the right-hand operand is evaluated. If this evaluation completes abruptly,
28 params: abrupt completion, right-hand operand

12345678910>>...20