Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / gcc / config / i386 / seq-gas.h
1 /* Definitions for Sequent Intel 386 using GAS.
2    Copyright (C) 1992 Free Software Foundation, Inc.
3
4 /* Mostly it's like a Sequent 386 without GAS. */
5
6 #include "i386/sequent.h"
7
8 /* A C statement or statements which output an assembler instruction
9    opcode to the stdio stream STREAM.  The macro-operand PTR is a
10    variable of type `char *' which points to the opcode name in its
11    "internal" form--the form that is written in the machine description.
12
13    GAS version 1.38.1 doesn't understand the `repz' opcode mnemonic.
14    So use `repe' instead.  */
15
16 #undef ASM_OUTPUT_OPCODE
17 #define ASM_OUTPUT_OPCODE(STREAM, PTR)  \
18 {                                                                       \
19   if ((PTR)[0] == 'r'                                                   \
20       && (PTR)[1] == 'e'                                                \
21       && (PTR)[2] == 'p')                                               \
22     {                                                                   \
23       if ((PTR)[3] == 'z')                                              \
24         {                                                               \
25           fprintf (STREAM, "repe");                                     \
26           (PTR) += 4;                                                   \
27         }                                                               \
28       else if ((PTR)[3] == 'n' && (PTR)[4] == 'z')                      \
29         {                                                               \
30           fprintf (STREAM, "repne");                                    \
31           (PTR) += 5;                                                   \
32         }                                                               \
33     }                                                                   \
34 }
35
36 /* Define macro used to output shift-double opcodes when the shift
37    count is in %cl.  Some assemblers require %cl as an argument;
38    some don't.
39
40    GAS requires the %cl argument, so override i386/unix.h. */
41
42 #undef SHIFT_DOUBLE_OMITS_COUNT
43 #define SHIFT_DOUBLE_OMITS_COUNT 0
44
45 /* Print opcodes the way that GAS expects them. */
46 #define GAS_MNEMONICS 1