--- gcc/config/unx386.h 2018/04/24 17:59:17 1.1.1.2 +++ gcc/config/unx386.h 2018/04/24 18:04:53 1.1.1.3 @@ -47,7 +47,7 @@ the Free Software Foundation, 675 Mass A /* Output the size-letter for an opcode. CODE is the letter used in an operand spec (L, B, W, S or Q). CH is the corresponding lower case letter - (except if CODE is L then CH is `l'). */ + (except if CODE is `Q' then CH is `l', unless GAS_MNEMONICS). */ #define PUT_OP_SIZE(CODE,CH,FILE) putc (CH,(FILE)) /* Opcode suffix for fullword insn. */ @@ -125,3 +125,21 @@ the Free Software Foundation, 675 Mass A #define ASM_GLOBALIZE_LABEL(FILE,NAME) \ (fputs (".globl ", FILE), assemble_name (FILE, NAME), fputs ("\n", FILE)) + +/* By default, target has a 80387, uses IEEE compatible arithmetic, + and returns float values in the 387, ie, + (TARGET_80387 | TARGET_IEEE_FP | TARGET_FLOAT_RETURNS_IN_80387) */ + +#define TARGET_DEFAULT 0301 + +/* Floating-point return values come in the FP register. */ + +#define VALUE_REGNO(MODE) \ + (GET_MODE_CLASS (MODE) == MODE_FLOAT \ + && TARGET_FLOAT_RETURNS_IN_80387 ? FIRST_FLOAT_REG : 0) + +/* 1 if N is a possible register number for a function value. */ + +#define FUNCTION_VALUE_REGNO_P(N) \ + ((N) == 0 || ((N)== FIRST_FLOAT_REG && TARGET_FLOAT_RETURNS_IN_80387)) +