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