Commit 8248e2bc by Jim Wilson

(TARGET_HARD_QUAD): New macro.

(TARGET_SWITCHES): Add hard-quad-float, soft-quad-float.
(TARGET_DEFAULT): Use parentheses.
({ADDTF3,SUBTF3,MULTF3,DIVTF3,SQRTTF2,FLOATSITF2,FIX_TRUNCTFSI2,
EXTENDSFTF2,TRUNCTFSF2,EXTENDDFTF2,TRUNCTFDF2,EQTF2,NETF2,GTTF2,
GETF2,LTTF2,LETF2}_LIBCALL): New macros.

From-SVN: r6751
parent 7c699529
...@@ -135,6 +135,11 @@ extern int target_flags; ...@@ -135,6 +135,11 @@ extern int target_flags;
application software. This is the default. */ application software. This is the default. */
#define TARGET_APP_REGS (target_flags & 1024) #define TARGET_APP_REGS (target_flags & 1024)
/* Option to select how quad word floating point is implemented.
When TARGET_HARD_QUAD is true, we use the hardware quad instructions.
Otherwise, we use the SPARC ABI quad library functions. */
#define TARGET_HARD_QUAD (target_flags & 2048)
/* Macro to define tables used to set the flags. /* Macro to define tables used to set the flags.
This is a list in braces of pairs in braces, This is a list in braces of pairs in braces,
each pair being { "NAME", VALUE } each pair being { "NAME", VALUE }
...@@ -168,10 +173,12 @@ extern int target_flags; ...@@ -168,10 +173,12 @@ extern int target_flags;
{"f934", 128}, \ {"f934", 128}, \
{"app-regs", 1024}, \ {"app-regs", 1024}, \
{"no-app-regs", -1024}, \ {"no-app-regs", -1024}, \
{"hard-quad-float", 2048}, \
{"soft-quad-float", -2048}, \
SUBTARGET_SWITCHES \ SUBTARGET_SWITCHES \
{ "", TARGET_DEFAULT}} { "", TARGET_DEFAULT}}
#define TARGET_DEFAULT 1024+3 #define TARGET_DEFAULT (1024+3)
/* This is meant to be redefined in the host dependent files */ /* This is meant to be redefined in the host dependent files */
#define SUBTARGET_SWITCHES #define SUBTARGET_SWITCHES
...@@ -1486,6 +1493,26 @@ extern struct rtx_def *legitimize_pic_address (); ...@@ -1486,6 +1493,26 @@ extern struct rtx_def *legitimize_pic_address ();
/* .umul is a little faster than .mul. */ /* .umul is a little faster than .mul. */
#define MULSI3_LIBCALL "*.umul" #define MULSI3_LIBCALL "*.umul"
/* Define library calls for quad FP operations. These are all part of the
SPARC ABI. */
#define ADDTF3_LIBCALL "*_Q_add"
#define SUBTF3_LIBCALL "*_Q_sub"
#define MULTF3_LIBCALL "*_Q_mul"
#define DIVTF3_LIBCALL "*_Q_div"
#define SQRTTF2_LIBCALL "*_Q_sqrt"
#define FLOATSITF2_LIBCALL "*_Q_itoq"
#define FIX_TRUNCTFSI2_LIBCALL "*_Q_qtoi"
#define EXTENDSFTF2_LIBCALL "*_Q_stoq"
#define TRUNCTFSF2_LIBCALL "*_Q_qtos"
#define EXTENDDFTF2_LIBCALL "*_Q_dtoq"
#define TRUNCTFDF2_LIBCALL "*_Q_qtod"
#define EQTF2_LIBCALL "*_Q_feq"
#define NETF2_LIBCALL "*_Q_fne"
#define GTTF2_LIBCALL "*_Q_fgt"
#define GETF2_LIBCALL "*_Q_fge"
#define LTTF2_LIBCALL "*_Q_flt"
#define LETF2_LIBCALL "*_Q_fle"
/* Compute the cost of computing a constant rtl expression RTX /* Compute the cost of computing a constant rtl expression RTX
whose rtx-code is CODE. The body of this macro is a portion whose rtx-code is CODE. The body of this macro is a portion
of a switch statement. If the code is computed here, of a switch statement. If the code is computed here,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment