1 /* Assembler macros for x32. 2 Copyright (C) 2012-2021 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 5 The GNU C Library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 The GNU C Library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with the GNU C Library; if not, see 17 <https://www.gnu.org/licenses/>. */ 18 19 #include <sysdeps/x86_64/sysdep.h> 20 21 #undef LP_SIZE 22 #undef LP_OP 23 #undef ASM_ADDR 24 25 #undef RAX_LP 26 #undef RBP_LP 27 #undef RBX_LP 28 #undef RCX_LP 29 #undef RDI_LP 30 #undef RDX_LP 31 #undef RSP_LP 32 #undef RSI_LP 33 #undef R8_LP 34 #undef R9_LP 35 #undef R10_LP 36 #undef R11_LP 37 #undef R12_LP 38 #undef R13_LP 39 #undef R14_LP 40 #undef R15_LP 41 42 #ifdef __ASSEMBLER__ 43 44 # define LP_SIZE 4 45 46 # define LP_OP(insn) insn##l 47 48 # define ASM_ADDR .long 49 50 # define RAX_LP eax 51 # define RBP_LP ebp 52 # define RBX_LP ebx 53 # define RCX_LP ecx 54 # define RDI_LP edi 55 # define RDX_LP edx 56 # define RSI_LP esi 57 # define RSP_LP esp 58 # define R8_LP r8d 59 # define R9_LP r9d 60 # define R10_LP r10d 61 # define R11_LP r11d 62 # define R12_LP r12d 63 # define R13_LP r13d 64 # define R14_LP r14d 65 # define R15_LP r15d 66 67 #else /* __ASSEMBLER__ */ 68 69 # define LP_SIZE "4" 70 71 # define LP_OP(insn) #insn "l" 72 73 # define ASM_ADDR ".long" 74 75 # define RAX_LP "eax" 76 # define RBP_LP "ebp" 77 # define RBX_LP "ebx" 78 # define RCX_LP "ecx" 79 # define RDI_LP "edi" 80 # define RDX_LP "edx" 81 # define RSI_LP "esi" 82 # define RSP_LP "esp" 83 # define R8_LP "r8d" 84 # define R9_LP "r9d" 85 # define R10_LP "r10d" 86 # define R11_LP "r11d" 87 # define R12_LP "r12d" 88 # define R13_LP "r13d" 89 # define R14_LP "r14d" 90 # define R15_LP "r15d" 91 92 #endif /* __ASSEMBLER__ */ 93