1// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
2// for details. All rights reserved. Use of this source code is governed by a
3// BSD-style license that can be found in the LICENSE file.
4
5#include "platform/globals.h" // NOLINT
6
7#if defined(TARGET_ARCH_ARM64)
8
9#include "vm/constants.h" // NOLINT
10
11namespace dart {
12
13const char* cpu_reg_names[kNumberOfCpuRegisters] = {
14 "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10",
15 "r11", "r12", "r13", "r14", "r15", "r16", "r17", "r18", "r19", "r20", "r21",
16 "nr", "r23", "r24", "ip0", "ip1", "pp", "ctx", "fp", "lr", "r31",
17};
18
19const char* fpu_reg_names[kNumberOfFpuRegisters] = {
20 "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9", "v10",
21 "v11", "v12", "v13", "v14", "v15", "v16", "v17", "v18", "v19", "v20", "v21",
22 "v22", "v23", "v24", "v25", "v26", "v27", "v28", "v29", "v30", "v31",
23};
24
25const Register CallingConventions::ArgumentRegisters[] = {
26 R0, R1, R2, R3, R4, R5, R6, R7,
27};
28
29const FpuRegister CallingConventions::FpuArgumentRegisters[] = {
30 V0, V1, V2, V3, V4, V5, V6, V7,
31};
32
33} // namespace dart
34
35#endif // defined(TARGET_ARCH_ARM64)
36