1 /* 2 * Copyright (C) 2012-2019 Free Software Foundation, Inc. 3 * 4 * This file is part of GNU lightning. 5 * 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) 9 * any later version. 10 * 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. 15 * 16 * Authors: 17 * Paulo Cesar Pereira de Andrade 18 */ 19 20 #ifndef _jit_arm_h 21 #define _jit_arm_h 22 23 24 #define JIT_NEEDS_LITERAL_POOL 1 25 26 #define _R0 JIT_GPR(0) 27 #define _R1 JIT_GPR(1) 28 #define _R2 JIT_GPR(2) 29 #define _R3 JIT_GPR(3) 30 #define _R4 JIT_GPR(4) 31 #define _R5 JIT_GPR(5) 32 #define _R6 JIT_GPR(6) 33 #define _R7 JIT_GPR(7) 34 #define _R8 JIT_GPR(8) 35 #define _R9 JIT_GPR(9) 36 #define _R10 JIT_GPR(10) 37 #define _R11 JIT_GPR(11) 38 #define _R12 JIT_GPR(12) 39 #define _R13 JIT_GPR(13) 40 #define _R14 JIT_GPR(14) 41 #define _R15 JIT_GPR(15) 42 43 #define _D0 JIT_FPR(0) 44 #define _D1 JIT_FPR(2) 45 #define _D2 JIT_FPR(4) 46 #define _D3 JIT_FPR(6) 47 #define _D4 JIT_FPR(8) 48 #define _D5 JIT_FPR(10) 49 #define _D6 JIT_FPR(12) 50 #define _D7 JIT_FPR(14) 51 #define _D8 JIT_FPR(16) 52 #define _D9 JIT_FPR(18) 53 #define _D10 JIT_FPR(20) 54 #define _D11 JIT_FPR(22) 55 #define _D12 JIT_FPR(24) 56 #define _D13 JIT_FPR(26) 57 #define _D14 JIT_FPR(28) 58 #define _D15 JIT_FPR(30) 59 60 #define _S0 JIT_FPR(0) 61 #define _S1 JIT_FPR(1) 62 #define _S2 JIT_FPR(2) 63 #define _S3 JIT_FPR(3) 64 #define _S4 JIT_FPR(4) 65 #define _S5 JIT_FPR(5) 66 #define _S6 JIT_FPR(6) 67 #define _S7 JIT_FPR(7) 68 #define _S8 JIT_FPR(8) 69 #define _S9 JIT_FPR(9) 70 #define _S10 JIT_FPR(10) 71 #define _S11 JIT_FPR(11) 72 #define _S12 JIT_FPR(12) 73 #define _S13 JIT_FPR(13) 74 #define _S14 JIT_FPR(14) 75 #define _S15 JIT_FPR(15) 76 #define _S16 JIT_FPR(16) 77 #define _S17 JIT_FPR(17) 78 #define _S18 JIT_FPR(18) 79 #define _S19 JIT_FPR(19) 80 #define _S20 JIT_FPR(20) 81 #define _S21 JIT_FPR(21) 82 #define _S22 JIT_FPR(22) 83 #define _S23 JIT_FPR(23) 84 #define _S24 JIT_FPR(24) 85 #define _S25 JIT_FPR(25) 86 #define _S26 JIT_FPR(26) 87 #define _S27 JIT_FPR(27) 88 #define _S28 JIT_FPR(28) 89 #define _S29 JIT_FPR(29) 90 #define _S30 JIT_FPR(30) 91 #define _S31 JIT_FPR(31) 92 93 #define JIT_R0 _R0 94 #define JIT_R1 _R1 95 #define JIT_R2 _R2 96 #define JIT_R3 _R3 97 #define JIT_TMP0 _R12 98 99 #define JIT_V0 _R4 100 #define JIT_V1 _R5 101 #define JIT_V2 _R6 102 #define JIT_TMP1 _R7 103 #define JIT_V3 _R8 104 #define JIT_V4 _R9 105 #define JIT_V5 _R10 106 #define JIT_V6 _R11 107 108 #define JIT_LR _R14 109 #define JIT_SP _R13 110 #define _LR _R14 111 #define _PC _R15 112 113 #define JIT_F0 _D0 114 #define JIT_F1 _D1 115 #define JIT_F2 _D2 116 #define JIT_F3 _D3 117 #define JIT_F4 _D4 118 #define JIT_F5 _D5 119 #define JIT_F6 _D6 120 #define JIT_FTMP _D7 121 122 #define JIT_VF0 _D8 123 #define JIT_VF1 _D9 124 #define JIT_VF2 _D10 125 #define JIT_VF3 _D11 126 #define JIT_VF4 _D12 127 #define JIT_VF5 _D13 128 #define JIT_VF6 _D14 129 #define JIT_VF7 _D15 130 131 #define JIT_PLATFORM_CALLEE_SAVE_GPRS _LR, JIT_TMP1 132 133 134 #endif /* _jit_arm_h */ 135