Define LP_SIZE/LP_OP/ASM_ADDR/RXX_LP for x86-64
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 14 May 2012 21:56:07 +0000 (14:56 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 14 May 2012 21:56:07 +0000 (14:56 -0700)
ChangeLog
sysdeps/x86_64/sysdep.h

index e9a3c99..499d127 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,27 @@
 2012-05-14  H.J. Lu  <hongjiu.lu@intel.com>
 
+       * sysdeps/x86_64/sysdep.h (LP_SIZE): New macro.
+       (LP_OP): Likewise.
+       (ASM_ADDR): Likewise.
+       (RAX_LP): Likewise.
+       (RBP_LP): Likewise.
+       (RBX_LP): Likewise.
+       (RCX_LP): Likewise.
+       (RDI_LP): Likewise.
+       (RSI_LP): Likewise.
+       (RSP_LP): Likewise.
+       (R8_LP): Likewise.
+       (R9_LP): Likewise.
+       (R10_LP): Likewise.
+       (R10_LP): Likewise.
+       (R11_LP): Likewise.
+       (R12_LP): Likewise.
+       (R13_LP): Likewise.
+       (R14_LP): Likewise.
+       (R15_LP): Likewise.
+
+2012-05-14  H.J. Lu  <hongjiu.lu@intel.com>
+
        * sysdeps/x86_64/x32/dl-machine.h: New file.
 
 2012-05-14  Andreas Jaeger  <aj@suse.de>
index e455c60..e34d7a9 100644 (file)
@@ -95,4 +95,60 @@ lose:                                                                              \
 
 #define atom_text_section .section ".text.atom", "ax"
 
+/* Long and pointer size in bytes.  */
+#define LP_SIZE        8
+
+/* Instruction to operate on long and pointer.  */
+#define LP_OP(insn) insn##q
+
+/* Assembler address directive. */
+#define ASM_ADDR .quad
+
+/* Registers to hold long and pointer.  */
+#define RAX_LP rax
+#define RBP_LP rbp
+#define RBX_LP rbx
+#define RCX_LP rcx
+#define RDI_LP rdi
+#define RDX_LP rdx
+#define RSI_LP rsi
+#define RSP_LP rsp
+#define R8_LP  r8
+#define R9_LP  r9
+#define R10_LP r10
+#define R11_LP r11
+#define R12_LP r12
+#define R13_LP r13
+#define R14_LP r14
+#define R15_LP r15
+
+#else  /* __ASSEMBLER__ */
+
+/* Long and pointer size in bytes.  */
+#define LP_SIZE "8"
+
+/* Instruction to operate on long and pointer.  */
+#define LP_OP(insn) #insn "q"
+
+/* Assembler address directive. */
+#define ASM_ADDR ".quad"
+
+/* Registers to hold long and pointer.  */
+#define RAX_LP "rax"
+#define RBP_LP "rbp"
+#define RBX_LP "rbx"
+#define RCX_LP "rcx"
+#define RDI_LP "rdi"
+#define RDX_LP "rdx"
+#define RSI_LP "rsi"
+#define RSP_LP "rsp"
+#define R8_LP  "r8"
+#define R9_LP  "r9"
+#define R10_LP "r10"
+#define R11_LP "r11"
+#define R12_LP "r12"
+#define R13_LP "r13"
+#define R14_LP "r14"
+#define R15_LP "r15"
+
 #endif /* __ASSEMBLER__ */