/arkcompiler/ets_runtime/ecmascript/compiler/assembler/aarch64/ |
H A D | macro_assembler_aarch64.h | 20 #include "ecmascript/compiler/assembler/aarch64/assembler_aarch64.h" 54 aarch64::AssemblerAarch64 assembler; 56 const std::vector<aarch64::Register> registerParamVec { 57 aarch64::Register(aarch64::X0), aarch64::Register(aarch64::X1), aarch64::Register(aarch64::X2), 58 aarch64 [all...] |
H A D | macro_assembler_aarch64.cpp | 16 #include "ecmascript/compiler/assembler/aarch64/macro_assembler_aarch64.h" 38 aarch64::Register baseReg = (dstStackSlot.IsFrameBase()) ? aarch64::Register(aarch64::FP) : in Move() 39 aarch64::Register(aarch64::SP); in Move() 40 aarch64::MemoryOperand dstOpnd(baseReg, static_cast<int64_t>(dstStackSlot.GetOffset())); in Move() 41 assembler.Mov(LOCAL_SCOPE_REGISTER, aarch64::Immediate(value.GetValue())); in Move() 48 aarch64::Register dstBaseReg = (dstStackSlot.IsFrameBase()) ? aarch64 in Move() [all...] |
/arkcompiler/runtime_core/static_core/compiler/optimizer/code_generator/target/aarch64/ |
H A D | target.h | 25 #include "aarch64/constants-aarch64.h" 26 #include "aarch64/macro-assembler-aarch64.h" 27 #include "aarch64/operands-aarch64.h" 32 namespace ark::compiler::aarch64 { namespace in ark::compiler 35 vixl::aarch64::CPURegList(vixl::aarch64::CPURegister::kRegister, vixl::aarch64 [all...] |
H A D | regfile.cpp | 22 #include "target/aarch64/target.h" 25 namespace ark::compiler::aarch64 { namespace in ark::compiler 56 calleeSaved_ = vixl::aarch64::kCalleeSaved; in SetCalleeSaved() 57 calleeSavedv_ = vixl::aarch64::kCalleeSavedV; in SetCalleeSaved() 88 calleeSaved_ = vixl::aarch64::kCalleeSaved; in SetUsedRegs() 89 callerSaved_ = vixl::aarch64::kCallerSaved; in SetUsedRegs() 100 calleeSavedv_ = vixl::aarch64::kCalleeSavedV; in SetUsedRegs() 101 callerSavedv_ = vixl::aarch64::kCallerSavedV; in SetUsedRegs() 166 regMask.set(vixl::aarch64::x29.GetCode()); in GetDefaultRegMask() 167 regMask.set(vixl::aarch64 in GetDefaultRegMask() [all...] |
H A D | callconv.cpp | 18 #include "target/aarch64/target.h" 20 namespace ark::compiler::aarch64 { namespace in ark::compiler 40 vixl::aarch64::MacroAssembler *Aarch64CallingConvention::GetMasm() in GetMasm() 47 auto paramInfo = GetAllocator()->New<aarch64::Aarch64ParameterInfo>(); in GetParameterInfo() 64 void Aarch64CallingConvention::PrepareToPushPopRegs(vixl::aarch64::CPURegList regs, vixl::aarch64::CPURegList vregs, in PrepareToPushPopRegs() 68 ASSERT((regs.GetList() & (UINT64_C(1) << vixl::aarch64::xzr.GetCode())) == 0); in PrepareToPushPopRegs() 69 regs.Combine(vixl::aarch64::xzr); in PrepareToPushPopRegs() 79 size_t Aarch64CallingConvention::PushRegs(vixl::aarch64::CPURegList regs, vixl::aarch64 [all...] |
H A D | encode.cpp | 19 #include <aarch64/macro-assembler-aarch64.h> 21 #include "compiler/optimizer/code_generator/target/aarch64/target.h" 28 #include "aarch64/disasm-aarch64.h" 39 namespace ark::compiler::aarch64 { namespace in ark::compiler 40 using vixl::aarch64::CPURegister; 41 using vixl::aarch64::MemOperand; 44 static vixl::aarch64::Condition Convert(const Condition cc) in Convert() 48 return vixl::aarch64 in Convert() [all...] |
/arkcompiler/runtime_core/static_core/compiler/tests/aarch64/ |
H A D | codegen_test.cpp | 26 #include "aarch64/decoder-aarch64.h" 27 #include "aarch64/disasm-aarch64.h" 28 #include "aarch64/operands-aarch64.h" 49 vixl::aarch64::Decoder decoder_; 50 vixl::aarch64::Disassembler disasm_; 58 class DecoderVisitor : public vixl::aarch64::DecoderVisitor { 62 virtual void Visit##A([[maybe_unused]] const vixl::aarch64 [all...] |
H A D | encoder64_test_2.cpp | 669 static_cast<aarch64::Aarch64Encoder *>(test->GetEncoder()) in TestMod() 671 ->Push(vixl::aarch64::xzr, aarch64::VixlReg(linkReg)); in TestMod() 681 static_cast<aarch64::Aarch64Encoder *>(test->GetEncoder()) in TestMod() 683 ->Pop(aarch64::VixlReg(linkReg), vixl::aarch64::xzr); in TestMod() 1214 // aarch64 is little-endian, so bytes are actually stored in following order: in TEST_F() 1252 std::string &GetOutput(const aarch64::Aarch64Encoder &encoder) in GetOutput() 1258 for (auto instr = reinterpret_cast<const vixl::aarch64::Instruction *>(begin); in GetOutput() 1259 instr < reinterpret_cast<const vixl::aarch64 in GetOutput() [all...] |
/arkcompiler/runtime_core/static_core/compiler/optimizer/code_generator/target/ |
H A D | target.cpp | 37 #include "aarch64/target.h" 85 aarch64::Aarch64Encoder *enc = arenaAllocator->New<aarch64::Aarch64Encoder>(arenaAllocator); in Create() 88 return arenaAllocator->New<aarch64::Aarch64Assembly>(arenaAllocator, enc); in Create() 121 return arenaAllocator->New<aarch64::Aarch64RegisterDescription>(arenaAllocator); in Create() 158 PrinterCallingConvention<aarch64::Aarch64CallingConvention, aarch64::Aarch64Assembly>; in Create() 160 reinterpret_cast<aarch64::Aarch64Assembly *>(enc), descr, mode); in Create() 162 return arenaAllocator->New<aarch64::Aarch64CallingConvention>(arenaAllocator, enc, descr, mode); in Create()
|
H A D | asm_printer.cpp | 44 void PrinterLabelHolder<AssemblyPrinter<aarch64::Aarch64Encoder>>::BindLabel(LabelId id) in BindLabel() 46 auto encoder = reinterpret_cast<AssemblyPrinter<aarch64::Aarch64Encoder> *>(GetEncoder()); in BindLabel() 52 AssemblyPrinter<aarch64::Aarch64Encoder>::AssemblyPrinter(ArenaAllocator *aa, aarch64::Aarch64Encoder *enc) in AssemblyPrinter() 55 labels_ = aa->template New<PrinterLabelHolder<AssemblyPrinter<aarch64::Aarch64Encoder>>>(this); in AssemblyPrinter() 58 void AssemblyPrinter<aarch64::Aarch64Encoder>::MakeCall(const void *entryPoint) in MakeCall()
|
/arkcompiler/ets_runtime/ecmascript/compiler/ |
H A D | assembler_module.cpp | 18 #include "ecmascript/compiler/assembler/aarch64/assembler_aarch64.h" 23 #include "ecmascript/compiler/trampoline/aarch64/common_call.h" 62 aarch64::ExtendedAssembler assembler(chunk, this); in GenerateStubsAarch64() 321 aarch64::ExtendedAssembler *assemblerAarch64 = static_cast<aarch64::ExtendedAssembler*>(assembler); \ 322 aarch64::OptimizedCall::name(assemblerAarch64); \ 328 aarch64::ExtendedAssembler *assemblerAarch64 = static_cast<aarch64::ExtendedAssembler*>(assembler); \ 329 aarch64::OptimizedFastCall::name(assemblerAarch64); \ 335 aarch64 [all...] |
/arkcompiler/runtime_core/compiler/optimizer/templates/ |
H A D | codegen_arm64.rb | 50 auto arg_mem = vixl::aarch64::MemOperand(vixl::aarch64::sp, cg->GetStackOffset()); 53 auto safepoint_mem = vixl::aarch64::MemOperand(tmp_reg, flag_addr_offset); 90 __ B(vixl::aarch64::Condition::eq, #{target});) 95 __ B(vixl::aarch64::Condition::ne, #{target});)
|
/arkcompiler/runtime_core/static_core/compiler/optimizer/templates/ |
H A D | codegen_arm64.rb | 50 auto arg_mem = vixl::aarch64::MemOperand(vixl::aarch64::sp, cg->GetStackOffset()); 53 auto safepoint_mem = vixl::aarch64::MemOperand(tmp_reg, flag_addr_offset); 90 __ B(vixl::aarch64::Condition::eq, #{target});) 95 __ B(vixl::aarch64::Condition::ne, #{target});)
|
/arkcompiler/runtime_core/static_core/irtoc/backend/ |
H A D | compilation.cpp | 22 #include "aarch64/disasm-aarch64.h" 32 class UsedRegistersCollector : public vixl::aarch64::Disassembler { 46 vixl::aarch64::Decoder decoder(allocator); in CollectForCode() 51 auto startInstr = reinterpret_cast<const vixl::aarch64::Instruction *>(code.data()); in CollectForCode() 52 auto endInstr = reinterpret_cast<const vixl::aarch64::Instruction *>(&(*code.end())); in CollectForCode() 70 if (instr->Mask(vixl::aarch64::UnconditionalBranchToRegisterMask) == vixl::aarch64::RET) { in CollectForCode() 88 const vixl::aarch64::Instruction *GetPrevInstruction(const vixl::aarch64 [all...] |
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/test/ |
H A D | triple_ut_test.cpp | 25 Triple::GetTriple().Init("aarch64"); in TEST() 27 ASSERT_EQ(Triple::GetTriple().GetArch(), Triple::ArchType::aarch64); in TEST() member in Triple::ArchType 32 ASSERT_EQ(Triple::GetTriple().GetArch(), Triple::ArchType::aarch64); in TEST() member in Triple::ArchType 57 ASSERT_EQ(Triple::GetTriple().GetArch(), Triple::ArchType::aarch64); in TEST() member in Triple::ArchType 63 ASSERT_EQ(Triple::GetTriple().GetArch(), Triple::ArchType::aarch64); in TEST() member in Triple::ArchType 94 ASSERT_EQ(Triple::GetTriple().GetArch(), Triple::ArchType::aarch64); in TEST() member in Triple::ArchType 117 "-be", "--ilp32", "--target=aarch64-gnu", nullptr}; in TEST() 127 ASSERT_EQ(Triple::GetTriple().GetArch(), Triple::ArchType::aarch64); in TEST() member in Triple::ArchType
|
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_driver/include/ |
H A D | triple.h | 30 /* Currently, only aarch64 is supported */ 31 enum ArchType { UnknownArch, aarch64, aarch64_be, x64, LastArchType }; enumerator 52 return (GetArch() == ArchType::aarch64_be) || (GetArch() == ArchType::aarch64); in IsAarch64BeOrLe()
|
/arkcompiler/runtime_core/compiler/tests/ |
H A D | encoders_test.cpp | 19 #include "target/aarch64/target.h" 32 encoder_ = static_cast<aarch64::Aarch64Encoder *>(Encoder::Create(allocator_, Arch::AARCH64, false)); in EncoderArm64VixlTest() 190 aarch64::Aarch64Encoder *encoder_ {nullptr}; 200 static constexpr size_t buf_size = (MAX_INT21_VALUE - vixl::aarch64::kPageSize) * 2 + code_offset; in TEST_F() 217 TestOffset(buf_size, MAX_INT21_VALUE + vixl::aarch64::kPageSize + code_offset + 8); in TEST_F() 219 TestOffset(buf_size, MAX_INT21_VALUE + vixl::aarch64::kPageSize + code_offset - 8); in TEST_F()
|
/arkcompiler/runtime_core/static_core/scripts/ |
H A D | install-deps-ubuntu | 123 * Packages for cross-compiling for aarch64 and x86 cannot co-exist, so the 125 * However, packages for cross-compiling for aarch64 and 32-bit ARM can 187 if [ `which aarch64-linux-gnu-gcc-8` ]; then 188 CC=aarch64-linux-gnu-gcc-8 ./configure --prefix=/usr/aarch64-linux-gnu 220 if [ `which aarch64-linux-gnu-gcc-8` ]; then 221 CC=aarch64-linux-gnu-gcc-8 ./configure --host=aarch64-linux-gnu --prefix=/usr/aarch64-linux-gnu --includedir=/usr/aarch64 [all...] |
H A D | install-deps-qemu | 159 qemu_installed_version=$(qemu-aarch64 --version 2>/dev/null \ 163 qemu_installed_version=$($QEMU_PREFIX/bin/qemu-aarch64 --version 2>/dev/null \
|
/arkcompiler/runtime_core/scripts/ |
H A D | install-deps-qemu | 153 qemu_installed_version=$(qemu-aarch64 --version 2>/dev/null \ 157 qemu_installed_version=$($QEMU_PREFIX/bin/qemu-aarch64 --version 2>/dev/null \
|
/arkcompiler/runtime_core/static_core/compiler/tests/ |
H A D | encoders_test.cpp | 20 #include "target/aarch64/target.h" 34 encoder_ = static_cast<aarch64::Aarch64Encoder *>(Encoder::Create(allocator_, Arch::AARCH64, false)); in EncoderArm64VixlTest() 194 aarch64::Aarch64Encoder *encoder_ {nullptr}; 205 static constexpr size_t BUF_SIZE = (MAX_INT21_VALUE - vixl::aarch64::kPageSize) * 2U + CODE_OFFSET; in TEST_F() 222 TestOffset(BUF_SIZE, MAX_INT21_VALUE + vixl::aarch64::kPageSize + CODE_OFFSET + 8U); in TEST_F() 224 TestOffset(BUF_SIZE, MAX_INT21_VALUE + vixl::aarch64::kPageSize + CODE_OFFSET - 8L); in TEST_F()
|
/arkcompiler/runtime_core/static_core/scripts/llvm/ |
H A D | build_llvm.sh | 24 BUILD_SUFFIX=${BUILD_SUFFIX:-""} # llvm-<VERSION>-{debug,release}-{aarch64,x86}<BUILD_SUFFIX> 68 (update-binfmts --display || true) | grep -q "qemu-aarch64" && \ 212 TARGET="aarch64${BUILD_SUFFIX}" 225 -DLLVM_DEFAULT_TARGET_TRIPLE=aarch64-linux-gnu \ 226 -DCMAKE_C_FLAGS="--target=aarch64-linux-gnu -I/usr/aarch64-linux-gnu/include/ ${DEBUG_OPT_FLAG}" \ 227 -DCMAKE_CXX_FLAGS="--target=aarch64-linux-gnu -I/usr/aarch64-linux-gnu/include/c++/8/aarch64-linux-gnu -I/usr/aarch64 [all...] |
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_driver/src/ |
H A D | triple.cpp | 22 /* Currently Triple is used only to configure aarch64: be/le, ILP32/LP64 in Init() 25 arch = Triple::ArchType::aarch64; in Init()
|
/arkcompiler/runtime_core/compiler/tests/aarch64/ |
H A D | encoder64_test.cpp | 23 #include "target/aarch64/target.h" 1233 static_cast<aarch64::Aarch64Encoder *>(GetEncoder()) in TEST_F() 1235 ->Push(vixl::aarch64::xzr, aarch64::VixlReg(link_reg)); in TEST_F() 1240 static_cast<aarch64::Aarch64Encoder *>(GetEncoder()) in TEST_F() 1242 ->Pop(aarch64::VixlReg(link_reg), vixl::aarch64::xzr); in TEST_F() 2829 static_cast<aarch64::Aarch64Encoder *>(test->GetEncoder()) in TestMod() 2831 ->Push(vixl::aarch64::xzr, aarch64 in TestMod() [all...] |
/arkcompiler/runtime_core/static_core/compiler/tools/aotdump/ |
H A D | aotdump.cpp | 33 #include "aarch64/disasm-aarch64.h" 34 using vixl::aarch64::Decoder; 35 using vixl::aarch64::Disassembler; 36 using vixl::aarch64::Instruction; 339 for (auto instr = startInstr; instr < endInstr; instr += vixl::aarch64::kInstructionSize) { in PrintCodeArm64() 347 pc += vixl::aarch64::kInstructionSize; in PrintCodeArm64()
|