2 * Copyright (C) 2013-2019 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
31 #define jit_r(i) (_R9 + (i))
33 #define jit_v(i) (_R19 + (i))
34 #define jit_v_num() 10
35 #define jit_f(i) (_V8 + (i))
44 _R8, /* indirect result */
45 _R18, /* platform register */
48 _R9, _R10, _R11, _R12, /* temporaries */
60 _R19, _R20, _R21, _R22, /* callee save */
61 _R23, _R24, _R25, _R26,
63 _SP, /* stack pointer */
64 _R30, /* link register */
65 _R29, /* frame pointer */
76 _V31, _V30, _V29, _V28, /* temporaries */
77 _V27, _V26, _V25, _V24,
78 _V23, _V22, _V21, _V20,
79 _V19, _V18, _V17, _V16,
82 _V12, _V13, _V14, _V15,
83 _V7, _V6, _V5, _V4, /* arguments */
86 #define JIT_NOREG _NOREG
89 #endif /* _jit_aarch64_h */