Home
last modified time | relevance | path

Searched full:immediate (Results 1 – 25 of 64) sorted by relevance

123

/arkcompiler/ets_runtime/ecmascript/compiler/trampoline/aarch64/
Doptimized_fast_call.cpp60 __ Add(tmpArgV, tmpArgV, Immediate(DOUBLE_SLOT_SIZE)); in OptimizedFastCallEntry()
117 __ Add(__ AvailableRegister4(), sp, Immediate(4 * FRAME_SLOT_SIZE)); // 4 skip fp lr type x19 in OptimizedFastCallAndPushUndefined()
129 __ Add(expectedNumArgs, expectedNumArgs, Immediate(NUM_MANDATORY_JSFUNC_ARGS)); in OptimizedFastCallAndPushUndefined()
137 __ Cmp(actualNumArgsReg, Immediate(3)); // 3: 3 args in OptimizedFastCallAndPushUndefined()
139 __ Mov(Register(X3), Immediate(JSTaggedValue::VALUE_UNDEFINED)); in OptimizedFastCallAndPushUndefined()
140 __ Mov(Register(X4), Immediate(JSTaggedValue::VALUE_UNDEFINED)); in OptimizedFastCallAndPushUndefined()
141 __ Mov(Register(X5), Immediate(JSTaggedValue::VALUE_UNDEFINED)); in OptimizedFastCallAndPushUndefined()
142 __ Mov(Register(X6), Immediate(JSTaggedValue::VALUE_UNDEFINED)); in OptimizedFastCallAndPushUndefined()
143 __ Mov(Register(X7), Immediate(JSTaggedValue::VALUE_UNDEFINED)); in OptimizedFastCallAndPushUndefined()
149 __ Cmp(actualNumArgsReg, Immediate(4)); // 4: 4 args in OptimizedFastCallAndPushUndefined()
[all …]
Doptimized_call.cpp73 __ Mov(frameType, Immediate(static_cast<int64_t>(FrameType::LEAVE_FRAME))); in CallRuntime()
76 __ Add(fp, sp, Immediate(2 * FRAME_SLOT_SIZE)); // 16: skip frame type and tmp in CallRuntime()
86 __ Add(argV, fp, Immediate(GetStackArgOffSetToFp(2))); // 2: the third arg id in CallRuntime()
95 __ Add(sp, sp, Immediate(2 * FRAME_SLOT_SIZE)); in CallRuntime()
105 __ Add(argc, argc, Immediate(static_cast<int64_t>(CommonArgIdx::ACTUAL_ARGC))); in IncreaseStackForArguments()
110 __ Sub(currentSp, currentSp, Immediate(FRAME_SLOT_SIZE)); in IncreaseStackForArguments()
155 __ Add(tmpArgV, tmpArgV, Immediate(TRIPLE_SLOT_SIZE)); in JSFunctionEntry()
157 __ Cmp(Register(X6), Immediate(1)); in JSFunctionEntry()
218 __ Add(expectedNumArgs, expectedNumArgs, Immediate(NUM_MANDATORY_JSFUNC_ARGS)); in OptimizedCallAndPushUndefined()
220 …__ Add(argV, sp, Immediate(kungfu::ArgumentAccessor::GetExtraArgsNum() * FRAME_SLOT_SIZE)); // sk… in OptimizedCallAndPushUndefined()
[all …]
Dcommon_call.cpp43 …__ Mov(frameTypeRegister, Immediate(static_cast<int64_t>(FrameType::ASM_INTERPRETER_BRIDGE_FRAME))… in PushAsmInterpBridgeFrame()
48 __ Add(fp, sp, Immediate(24)); // 24: skip frame type, prevSp, pc in PushAsmInterpBridgeFrame()
77 __ Mov(frameType, Immediate(static_cast<int64_t>(FrameType::LEAVE_FRAME))); in PushLeaveFrame()
81 __ Add(Register(FP), sp, Immediate(DOUBLE_SLOT_SIZE)); in PushLeaveFrame()
103 __ Cmp(argc.W(), Immediate(0)); in PushArgsWithArgv()
113 __ Sub(argc.W(), argc.W(), Immediate(1)); in PushArgsWithArgv()
121 __ Cmp(argc.W(), Immediate(0)); in PushUndefinedWithArgc()
128 __ Mov(temp, Immediate(JSTaggedValue::VALUE_UNDEFINED)); in PushUndefinedWithArgc()
131 __ Sub(argc.W(), argc.W(), Immediate(1)); in PushUndefinedWithArgc()
Dasm_interpreter_call.cpp87 __ Mov(tempRegister.W(), Immediate(static_cast<int64_t>(JSType::JS_FUNCTION_FIRST))); in AsmInterpEntryDispatch()
90 __ Mov(tempRegister.W(), Immediate(static_cast<int64_t>(JSType::JS_FUNCTION_LAST))); in AsmInterpEntryDispatch()
106 …__ Add(argvRegister, argvRegister, Immediate(NUM_MANDATORY_JSFUNC_ARGS * JSTaggedValue::TaggedType… in AsmInterpEntryDispatch()
113 __ Mov(runtimeId, Immediate(kungfu::RuntimeStubCSigns::ID_ThrowNotCallableException)); in AsmInterpEntryDispatch()
153 __ Cmp(declaredNumArgsRegister, Immediate(argc)); in JSCallCommonEntry()
175 __ Mov(acc, Immediate(JSTaggedValue::VALUE_EXCEPTION)); in JSCallCommonEntry()
270 __ Sub(diffRegister.W(), declaredNumArgsRegister.W(), Immediate(argc)); in JSCallCommonSlowPath()
290 __ Cmp(declaredNumArgsRegister, Immediate(0)); in JSCallCommonSlowPath()
303 __ Cmp(declaredNumArgsRegister, Immediate(1)); in JSCallCommonSlowPath()
499 __ Mov(temp, Immediate(JSTaggedValue::VALUE_UNDEFINED)); in CallNativeWithArgv()
[all …]
/arkcompiler/ets_runtime/ecmascript/compiler/assembler/x64/
Dassembler_x64.h48 class Immediate {
50 Immediate(int32_t value) : value_(value) {} in Immediate() function
51 ~Immediate() = default;
82 // | prefixs| opcode| modR/M| SIB| Displacement| Immediate|
90 void Pushq(Immediate x);
97 void Movq(Immediate src, Operand dst);
98 void Movq(Immediate src, Register dst);
101 void Addq(Immediate src, Register dst);
103 void Addl(Immediate src, Register dst);
104 void Subq(Immediate src, Register dst);
[all …]
Dassembler_x64.cpp26 void AssemblerX64::Pushq(Immediate x) in Pushq()
57 void AssemblerX64::Addq(Immediate src, Register dst) in Addq()
87 void AssemblerX64::Addl(Immediate src, Register dst) in Addl()
109 void AssemblerX64::Subq(Immediate src, Register dst) in Subq()
139 void AssemblerX64::Subl(Immediate src, Register dst) in Subl()
161 void AssemblerX64::Cmpq(Immediate src, Register dst) in Cmpq()
183 void AssemblerX64::Cmpb(Immediate src, Register dst) in Cmpb()
210 void AssemblerX64::Cmpl(Immediate src, Register dst) in Cmpl()
232 void AssemblerX64::Cmp(Immediate src, Register dst) in Cmp()
281 void AssemblerX64::Movq(Immediate src, Operand dst) in Movq()
[all …]
/arkcompiler/ets_runtime/ecmascript/compiler/assembler/tests/
Dassembler_aarch64_test.cpp143 __ Mov(Register(X1), Immediate(0xffff000012345678)); in HWTEST_F_L0()
144 __ Mov(Register(X2), Immediate(0x12345678abcd00ef)); in HWTEST_F_L0()
145 __ Mov(Register(X3), Immediate(0x7fff001234)); in HWTEST_F_L0()
146 __ Mov(Register(X4).W(), Immediate(0xff0000ff)); in HWTEST_F_L0()
223 __ Add(Register(SP), Register(SP), Immediate(8)); in HWTEST_F_L0()
224 __ Add(Register(SP), Register(SP), Immediate(-8)); in HWTEST_F_L0()
241 __ Cmp(Register(X1), Immediate(8)); in HWTEST_F_L0()
262 __ Cmp(Register(X1), Immediate(8)); in HWTEST_F_L0()
267 __ Mov(Register(X0), Immediate(0xa)); in HWTEST_F_L0()
271 __ Mov(Register(X0), Immediate(0x2)); in HWTEST_F_L0()
[all …]
/arkcompiler/ets_runtime/ecmascript/compiler/
Dbytecodes.cpp491 info.inputs.emplace_back(Immediate(READ_INST_32_0())); in InitBytecodeInfo()
495 info.inputs.emplace_back(Immediate(READ_INST_64_0())); in InitBytecodeInfo()
617 info.inputs.emplace_back(Immediate(imm)); in InitBytecodeInfo()
622 info.inputs.emplace_back(Immediate(imm)); in InitBytecodeInfo()
751 info.inputs.emplace_back(Immediate(length)); in InitBytecodeInfo()
759 info.inputs.emplace_back(Immediate(length)); in InitBytecodeInfo()
767 info.inputs.emplace_back(Immediate(length)); in InitBytecodeInfo()
775 info.inputs.emplace_back(Immediate(length)); in InitBytecodeInfo()
806 info.inputs.emplace_back(Immediate(level)); in InitBytecodeInfo()
807 info.inputs.emplace_back(Immediate(slot)); in InitBytecodeInfo()
[all …]
/arkcompiler/ets_runtime/ecmascript/compiler/assembler/aarch64/
Dassembler_aarch64.h117 class Immediate {
119 Immediate(int64_t value) : value_(value) {} in Immediate() function
120 ~Immediate() = default;
159 Operand(Immediate imm) in Operand()
214 inline Immediate GetImmediate() const in GetImmediate()
223 Immediate immediate_;
255 Immediate GetImmediate() const in GetImmediate()
287 Immediate offsetImm_;
310 void Mov(const Register &rd, const Immediate &imm);
352 void Brk(const Immediate &imm);
/arkcompiler/runtime_core/tests/cts-generator/cts-template/
Dldai.yaml18 title: Load accumulator from immediate
20 … Load immediate into accumulator. For short formats immediate is sign extended to operand size.
Dldai.64.yaml18 title: Load accumulator from immediate
20 … Load immediate into accumulator. For short formats immediate is sign extended to operand size.
Dmovi.yaml18 title: Move immediate-to-register
20 …Move integer immediate into a register. For short formats immediate is sign extended to operand si…
Dfldai.yaml18 title: Load accumulator from immediate
20 … Load immediate into accumulator. For short formats immediate is sign extended to operand size.
Dfldai.64.yaml18 title: Load accumulator from immediate
20 … Load immediate into accumulator. For short formats immediate is sign extended to operand size.
Dmovi.64.yaml18 title: Move immediate-to-register
20 …Move integer immediate into a register. For short formats immediate is sign extended to operand si…
Dfmovi.yaml18 title: Move immediate-to-register
20 …Move integer immediate into a register. For short formats immediate is sign extended to operand si…
Dfmovi.64.yaml18 title: Move immediate-to-register
20 …Move integer immediate into a register. For short formats immediate is sign extended to operand si…
Dshri.yaml19 title: Two address binary operation with immediate on accumulator
21 … Perform specified binary operation on accumulator and immediate and store result into accumulator.
22 Immediate is sign extended to operand size.
Dori.yaml19 title: Two address binary operation with immediate on accumulator
21 … Perform specified binary operation on accumulator and immediate and store result into accumulator.
22 Immediate is sign extended to operand size.
Dxori.yaml19 title: Two address binary operation with immediate on accumulator
21 … Perform specified binary operation on accumulator and immediate and store result into accumulator.
22 Immediate is sign extended to operand size.
Dashri.yaml19 title: Two address binary operation with immediate on accumulator
21 … Perform specified binary operation on accumulator and immediate and store result into accumulator.
22 Immediate is sign extended to operand size.
Dshli.yaml19 title: Two address binary operation with immediate on accumulator
21 … Perform specified binary operation on accumulator and immediate and store result into accumulator.
22 Immediate is sign extended to operand size.
/arkcompiler/ets_runtime/ecmascript/compiler/trampoline/x64/
Doptimized_fast_call.cpp128 __ Cmp(Immediate(3), actualNumArgsReg); // 3: func new this in OptimizedFastCallAndPushUndefined()
139 __ Cmp(Immediate(4), actualNumArgsReg); // 4: func new this arg0 in OptimizedFastCallAndPushUndefined()
151 __ Cmp(Immediate(5), actualNumArgsReg); // 5: 5 args in OptimizedFastCallAndPushUndefined()
162 __ Cmp(Immediate(6), actualNumArgsReg); // 6: 6 args in OptimizedFastCallAndPushUndefined()
190 __ Cmp(Immediate(3), expectedNumArgsReg); // 3: expectedNumArgsReg <= 3 jump in OptimizedFastCallAndPushUndefined()
226 __ Addq(Immediate(FRAME_SLOT_SIZE), callsiteSp); // 8 : 8 means skip pc to get last callsitesp in JSFastCallWithArgV()
294 __ Addq(Immediate(FRAME_SLOT_SIZE), callsiteSp); // 8 : 8 means skip pc to get last callsitesp in JSFastCallWithArgVAndPushUndefined()
363 __ Cmp(Immediate(3), expectedNumArgsReg); // 3:expectedNumArgsReg <= 3 jump in JSFastCallWithArgVAndPushUndefined()
/arkcompiler/runtime_core/docs/
D2022-08-18-isa-changelog.md17 5. We add prefix "wide" to support opcodes which need larger immediate number.
18 6. We adjust the format of some opcodes (about immediate number and accumulator), so that the bytec…
/arkcompiler/runtime_core/compiler/optimizer/ir/
Dlocations.h36 DEF(IMMEDIATE, "i") \
91 return GetKind() == Kind::IMMEDIATE; in IsConstant()
200 return Location(Kind::IMMEDIATE, value); in MakeConstant()

123