]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
(TARGET_HARD_QUAD): New macro.
authorJim Wilson <wilson@gcc.gnu.org>
Fri, 11 Mar 1994 19:53:44 +0000 (11:53 -0800)
committerJim Wilson <wilson@gcc.gnu.org>
Fri, 11 Mar 1994 19:53:44 +0000 (11:53 -0800)
(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

gcc/config/sparc/sparc.h

index 3a915f1f9d57ab4c93ad273ef81e0ec46ec697c0..ccac3b68e60f25fd73addfd3addc83903deb8ed8 100644 (file)
@@ -135,6 +135,11 @@ extern int target_flags;
    application software.  This is the default.  */
 #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.
    This is a list in braces of pairs in braces,
    each pair being { "NAME", VALUE }
@@ -168,10 +173,12 @@ extern int target_flags;
     {"f934", 128},             \
     {"app-regs", 1024},                \
     {"no-app-regs", -1024},    \
+    {"hard-quad-float", 2048},        \
+    {"soft-quad-float", -2048},       \
     SUBTARGET_SWITCHES         \
     { "", TARGET_DEFAULT}}
 
-#define TARGET_DEFAULT 1024+3
+#define TARGET_DEFAULT (1024+3)
 
 /* This is meant to be redefined in the host dependent files */
 #define SUBTARGET_SWITCHES
@@ -1486,6 +1493,26 @@ extern struct rtx_def *legitimize_pic_address ();
 /* .umul is a little faster than .mul.  */
 #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
    whose rtx-code is CODE.  The body of this macro is a portion
    of a switch statement.  If the code is computed here,