| /arkcompiler/ets_runtime/ecmascript/compiler/assembler/x64/ |
| D | assembler_x64.h | 48 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 …]
|
| D | assembler_x64.cpp | 26 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() 209 void AssemblerX64::Cmpl(Immediate src, Register dst) in Cmpl() 231 void AssemblerX64::Cmp(Immediate src, Register dst) in Cmp() 280 void AssemblerX64::Movq(Immediate src, Operand dst) in Movq() [all …]
|
| /arkcompiler/ets_runtime/ecmascript/compiler/trampoline/aarch64/ |
| D | optimized_call.cpp | 73 __ 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() 312 __ Add(Register(X0), sp, Immediate(0)); in CallBuiltinTrampoline() 405 __ Add(argV, sp, Immediate(DOUBLE_SLOT_SIZE)); in JSCallInternal() [all …]
|
| D | common_call.cpp | 43 …__ 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()
|
| D | asm_interpreter_call.cpp | 87 __ 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() 496 __ Mov(temp, Immediate(JSTaggedValue::VALUE_UNDEFINED)); in CallNativeWithArgv() [all …]
|
| /arkcompiler/ets_runtime/ecmascript/compiler/ |
| D | bytecodes.cpp | 295 info.inputs.emplace_back(Immediate(READ_INST_32_0())); in InitBytecodeInfo() 299 info.inputs.emplace_back(Immediate(READ_INST_64_0())); in InitBytecodeInfo() 421 info.inputs.emplace_back(Immediate(imm)); in InitBytecodeInfo() 426 info.inputs.emplace_back(Immediate(imm)); in InitBytecodeInfo() 553 info.inputs.emplace_back(Immediate(length)); in InitBytecodeInfo() 561 info.inputs.emplace_back(Immediate(length)); in InitBytecodeInfo() 569 info.inputs.emplace_back(Immediate(length)); in InitBytecodeInfo() 577 info.inputs.emplace_back(Immediate(length)); in InitBytecodeInfo() 608 info.inputs.emplace_back(Immediate(level)); in InitBytecodeInfo() 609 info.inputs.emplace_back(Immediate(slot)); in InitBytecodeInfo() [all …]
|
| D | bytecodes.h | 313 class Immediate { 315 explicit Immediate(ImmValueType value) : value_(value) in Immediate() function 318 ~Immediate() = default; 439 // set of id, immediate and read register 440 std::vector<std::variant<ConstDataId, ICSlotId, Immediate, VirtualRegister>> inputs {};
|
| /arkcompiler/ets_runtime/ecmascript/compiler/assembler/tests/ |
| D | assembler_aarch64_test.cpp | 142 __ Mov(Register(X1), Immediate(0xffff000012345678)); in HWTEST_F_L0() 143 __ Mov(Register(X2), Immediate(0x12345678abcd00ef)); in HWTEST_F_L0() 144 __ Mov(Register(X3), Immediate(0x7fff001234)); in HWTEST_F_L0() 145 __ Mov(Register(X4).W(), Immediate(0xff0000ff)); in HWTEST_F_L0() 222 __ Add(Register(SP), Register(SP), Immediate(8)); in HWTEST_F_L0() 223 __ Add(Register(SP), Register(SP), Immediate(-8)); in HWTEST_F_L0() 240 __ Cmp(Register(X1), Immediate(8)); in HWTEST_F_L0() 261 __ Cmp(Register(X1), Immediate(8)); in HWTEST_F_L0() 266 __ Mov(Register(X0), Immediate(0xa)); in HWTEST_F_L0() 270 __ Mov(Register(X0), Immediate(0x2)); in HWTEST_F_L0() [all …]
|
| /arkcompiler/ets_runtime/ecmascript/compiler/assembler/aarch64/ |
| D | assembler_aarch64.h | 116 class Immediate { 118 Immediate(int64_t value) : value_(value) {} in Immediate() function 119 ~Immediate() = default; 158 Operand(Immediate imm) in Operand() 213 inline Immediate GetImmediate() const in GetImmediate() 222 Immediate immediate_; 254 Immediate GetImmediate() const in GetImmediate() 286 Immediate offsetImm_; 309 void Mov(const Register &rd, const Immediate &imm); 352 void Brk(const Immediate &imm);
|
| /arkcompiler/runtime_core/tests/cts-generator/cts-template/ |
| D | ldai.yaml | 18 title: Load accumulator from immediate 20 … Load immediate into accumulator. For short formats immediate is sign extended to operand size.
|
| D | ldai.64.yaml | 18 title: Load accumulator from immediate 20 … Load immediate into accumulator. For short formats immediate is sign extended to operand size.
|
| D | movi.yaml | 18 title: Move immediate-to-register 20 …Move integer immediate into a register. For short formats immediate is sign extended to operand si…
|
| D | fldai.64.yaml | 18 title: Load accumulator from immediate 20 … Load immediate into accumulator. For short formats immediate is sign extended to operand size.
|
| D | fldai.yaml | 18 title: Load accumulator from immediate 20 … Load immediate into accumulator. For short formats immediate is sign extended to operand size.
|
| D | movi.64.yaml | 18 title: Move immediate-to-register 20 …Move integer immediate into a register. For short formats immediate is sign extended to operand si…
|
| D | fmovi.64.yaml | 18 title: Move immediate-to-register 20 …Move integer immediate into a register. For short formats immediate is sign extended to operand si…
|
| D | fmovi.yaml | 18 title: Move immediate-to-register 20 …Move integer immediate into a register. For short formats immediate is sign extended to operand si…
|
| D | xori.yaml | 19 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.
|
| D | shli.yaml | 19 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.
|
| D | ori.yaml | 19 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.
|
| D | muli.yaml | 19 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.
|
| D | ashri.yaml | 19 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/runtime_core/docs/ |
| D | 2022-08-18-isa-changelog.md | 17 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/tests/ |
| D | spill_fill_encoder_test.cpp | 37 {LocationType::IMMEDIATE, LocationType::REGISTER, 0, 0, DataType::Type::INT64}, in TEST_F() 38 {LocationType::IMMEDIATE, LocationType::REGISTER, 0, 1, DataType::Type::INT64}, in TEST_F() 56 {LocationType::IMMEDIATE, LocationType::REGISTER, 0, 0, DataType::Type::INT64}, in TEST_F() 57 {LocationType::IMMEDIATE, LocationType::REGISTER, 0, 1, DataType::Type::INT64}, in TEST_F()
|
| /arkcompiler/runtime_core/compiler/optimizer/ir/ |
| D | locations.h | 37 DEF(IMMEDIATE, "i") \ 92 return GetKind() == Kind::IMMEDIATE; in IsConstant() 201 return Location(Kind::IMMEDIATE, value); in MakeConstant()
|