Annotation of GNUtools/cc/config/i386/seq-gas.h, revision 1.1.1.1

1.1       root        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 AS3_SHIFT_DOUBLE
                     43: #define AS3_SHIFT_DOUBLE(a,b,c,d) AS3 (a,b,c,d)
                     44: 
                     45: /* Print opcodes the way that GAS expects them. */
                     46: #define GAS_MNEMONICS 1

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.