1 /* asm.h -- Definitions for x86 syntax variations.
3 Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc.
5 This file is part of the GNU MP Library.
7 The GNU MP Library is free software; you can redistribute it and/or modify
8 it under the terms of the GNU Library General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or (at your
10 option) any later version.
12 The GNU MP Library is distributed in the hope that it will be useful, but
13 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
15 License for more details.
17 You should have received a copy of the GNU Library General Public License
18 along with the GNU MP Library; see the file COPYING.LIB. If not, write to
19 the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
25 #define MEM(base)(base)
26 #define MEM_DISP(base,displacement)displacement(R(base))
27 #define MEM_INDEX(base,index,size)(R(base),R(index),size)
29 #define INSN1(mnemonic,size_suffix,dst)mnemonic##size_suffix dst
30 #define INSN2(mnemonic,size_suffix,dst,src)mnemonic##size_suffix src,dst
32 #define INSN1(mnemonic,size_suffix,dst)mnemonic/**/size_suffix dst
33 #define INSN2(mnemonic,size_suffix,dst,src)mnemonic/**/size_suffix src,dst
36 #define ALIGN(log) .align log
42 #define MEM(base)[base]
43 #define MEM_DISP(base,displacement)[base+(displacement)]
44 #define MEM_INDEX(base,index,size)[base+index*size]
45 #define INSN1(mnemonic,size_suffix,dst)mnemonic dst
46 #define INSN2(mnemonic,size_suffix,dst,src)mnemonic dst,src
48 #define ALIGN(log) .align log
54 #define ALIGN(log) .align log,0x90
57 #if !defined (NOLOG_ALIGN) && defined (HAVE_ELF)
63 #define ALIGN(log) .align 1<<log