1/* Definitions for Unix assembler syntax for the Intel 80386. 2 Copyright (C) 1988-2015 Free Software Foundation, Inc. 3 4This file is part of GCC. 5 6GCC is free software; you can redistribute it and/or modify 7it under the terms of the GNU General Public License as published by 8the Free Software Foundation; either version 3, or (at your option) 9any later version. 10 11GCC is distributed in the hope that it will be useful, 12but WITHOUT ANY WARRANTY; without even the implied warranty of 13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14GNU General Public License for more details. 15 16Under Section 7 of GPL version 3, you are granted additional 17permissions described in the GCC Runtime Library Exception, version 183.1, as published by the Free Software Foundation. 19 20You should have received a copy of the GNU General Public License and 21a copy of the GCC Runtime Library Exception along with this program; 22see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 23<http://www.gnu.org/licenses/>. */ 24 25/* This file defines the aspects of assembler syntax 26 that are the same for all the i386 Unix systems 27 (though they may differ in non-Unix systems). */ 28 29/* Define macro used to output shift-double opcodes when the shift 30 count is in %cl. Some assemblers require %cl as an argument; 31 some don't. This macro controls what to do: by default, don't 32 print %cl. */ 33#define SHIFT_DOUBLE_OMITS_COUNT 1 34 35/* Define the syntax of pseudo-ops, labels and comments. */ 36 37/* String containing the assembler's comment-starter. 38 Note the trailing space is necessary in case the character 39 that immediately follows the comment is '*'. If this happens 40 and the space is not there the assembler will interpret this 41 as the start of a C-like slash-star comment and complain when 42 there is no terminator. */ 43 44#define ASM_COMMENT_START "/ " 45 46/* Output to assembler file text saying following lines 47 may contain character constants, extra white space, comments, etc. */ 48 49#define ASM_APP_ON "/APP\n" 50 51/* Output to assembler file text saying following lines 52 no longer contain unusual constructs. */ 53 54#define ASM_APP_OFF "/NO_APP\n" 55 56/* Output before read-only data. */ 57 58#define TEXT_SECTION_ASM_OP "\t.text" 59 60/* Output before writable (initialized) data. */ 61 62#define DATA_SECTION_ASM_OP "\t.data" 63 64/* Output before writable (uninitialized) data. */ 65 66#define BSS_SECTION_ASM_OP "\t.bss" 67 68/* Globalizing directive for a label. */ 69#define GLOBAL_ASM_OP "\t.globl\t" 70 71/* By default, target has a 80387, uses IEEE compatible arithmetic, 72 and returns float values in the 387. */ 73#undef TARGET_SUBTARGET_DEFAULT 74#define TARGET_SUBTARGET_DEFAULT \ 75 (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS) 76 77/* By default, 64-bit mode uses 128-bit long double. */ 78#undef TARGET_SUBTARGET64_DEFAULT 79#define TARGET_SUBTARGET64_DEFAULT \ 80 MASK_128BIT_LONG_DOUBLE 81