2 * Copyright (C) 2013-2023 Free Software Foundation, Inc.
4 * This file is part of GNU lightning.
6 * GNU lightning is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU Lesser General Public License as published
8 * by the Free Software Foundation; either version 3, or (at your option)
11 * GNU lightning is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14 * License for more details.
17 * Paulo Cesar Pereira de Andrade
20 #ifndef _jit_aarch64_h
21 #define _jit_aarch64_h
23 #define JIT_HASH_CONSTS 0
24 #define JIT_NUM_OPERANDS 3
27 # define PACKED_STACK 1
35 #define jit_r(i) (_R9 + (i))
37 #define jit_v(i) (_R19 + (i))
38 #define jit_v_num() 10
39 #define jit_f(i) (_V8 + (i))
48 _R8, /* indirect result */
49 _R18, /* platform register */
52 _R9, _R10, _R11, _R12, /* temporaries */
64 _R19, _R20, _R21, _R22, /* callee save */
65 _R23, _R24, _R25, _R26,
67 _SP, /* stack pointer */
68 _R30, /* link register */
69 _R29, /* frame pointer */
80 _V31, _V30, _V29, _V28, /* temporaries */
81 _V27, _V26, _V25, _V24,
82 _V23, _V22, _V21, _V20,
83 _V19, _V18, _V17, _V16,
86 _V12, _V13, _V14, _V15,
87 _V7, _V6, _V5, _V4, /* arguments */
90 #define JIT_NOREG _NOREG
93 #endif /* _jit_aarch64_h */