OSDN Git Service

* config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
authorm.hayes <m.hayes@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Jan 2001 03:58:12 +0000 (03:58 +0000)
committerm.hayes <m.hayes@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Jan 2001 03:58:12 +0000 (03:58 +0000)
for 'abs', 'labs', and 'fabs'.
(c4x_expand_builtin): Likewise.
* config/c4x/c4x.h (enum c4x_builtins): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38702 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/c4x/c4x.c
gcc/config/c4x/c4x.h

index 5322db5..a710137 100644 (file)
@@ -1,3 +1,10 @@
+2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
+       for 'abs', 'labs', and 'fabs'.
+       (c4x_expand_builtin): Likewise.
+       * config/c4x/c4x.h (enum c4x_builtins): Likewise.
+
 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
 
        * config/sh/sh.md (prget, prset): New insn types.
@@ -7,7 +14,7 @@
        for prset and prget.
 
 2001-01-05  Michael Hayes  <mhayes@redhat.com>
-
+       
        * loop.h (struct loop_reg): New.
        (struct loop_regs): Change to use array of `struct loop_reg'.
        * loop.c: Replace assortment of varrays with single regs array.
index 775c7b6..230b54c 100644 (file)
@@ -829,11 +829,11 @@ c4x_expand_prologue ()
          /* FIXME: Assume ISR doesn't require more than 32767 words
             of local variables.  */
          if (size > 32767)
-           error ("ISR %s requires %d words of local variables, "
-                  "maximum is 32767.", current_function_name, size);
+           error ("ISR %s requires %d words of local vars, max is 32767.",
+                  current_function_name, size);
          insn = emit_insn (gen_addqi3 (gen_rtx_REG (QImode, SP_REGNO),
                                        gen_rtx_REG (QImode, SP_REGNO),
-                                       GEN_INT(size)));
+                                       GEN_INT (size)));
           RTX_FRAME_RELATED_P (insn) = 1;
        }
       for (regno = 0; regno < FIRST_PSEUDO_REGISTER; regno++)
@@ -4867,22 +4867,6 @@ void
 c4x_init_builtins (endlink)
      tree endlink;
 {
-
-  builtin_function ("abs",
-                   build_function_type
-                   (integer_type_node, 
-                    tree_cons (NULL_TREE, integer_type_node, endlink)),
-                   C4X_BUILTIN_ABS, BUILT_IN_MD, NULL_PTR);
-  builtin_function ("fabs",
-                   build_function_type
-                   (double_type_node, 
-                    tree_cons (NULL_TREE, double_type_node, endlink)),
-                   C4X_BUILTIN_FABS, BUILT_IN_MD, NULL_PTR);
-  builtin_function ("labs",
-                   build_function_type 
-                   (long_integer_type_node, 
-                    tree_cons (NULL_TREE, long_integer_type_node, endlink)),
-                   C4X_BUILTIN_LABS, BUILT_IN_MD, NULL_PTR);
   builtin_function ("fast_ftoi",
                    build_function_type 
                    (integer_type_node,
@@ -4938,33 +4922,6 @@ c4x_expand_builtin (exp, target, subtarget, mode, ignore)
 
   switch (fcode)
     {
-    case C4X_BUILTIN_ABS:
-      arg0 = TREE_VALUE (arglist);
-      r0 = expand_expr (arg0, NULL_RTX, QImode, 0);
-      r0 = protect_from_queue (r0, 0);
-      if (! target || ! register_operand (target, QImode))
-       target = gen_reg_rtx (QImode);
-      emit_insn (gen_absqi2 (target, r0));
-      return target;
-
-    case C4X_BUILTIN_FABS:
-      arg0 = TREE_VALUE (arglist);
-      r0 = expand_expr (arg0, NULL_RTX, QFmode, 0);
-      r0 = protect_from_queue (r0, 0);
-      if (! target || ! register_operand (target, QFmode))
-       target = gen_reg_rtx (QFmode);
-      emit_insn (gen_absqf2 (target, r0));
-      return target;
-
-    case C4X_BUILTIN_LABS:
-      arg0 = TREE_VALUE (arglist);
-      r0 = expand_expr (arg0, NULL_RTX, QImode, 0);
-      r0 = protect_from_queue (r0, 0);
-      if (! target || ! register_operand (target, QImode))
-       target = gen_reg_rtx (QImode);
-      emit_insn (gen_absqi2 (target, r0));
-      return target;
-
     case C4X_BUILTIN_FIX:
       arg0 = TREE_VALUE (arglist);
       r0 = expand_expr (arg0, NULL_RTX, QFmode, 0);
index eec7916..49b979e 100644 (file)
@@ -2711,9 +2711,6 @@ if (final_sequence != NULL_RTX)                           \
 enum c4x_builtins
 {
                        /*      intrinsic name          */
-  C4X_BUILTIN_ABS,     /*      abs                     */
-  C4X_BUILTIN_FABS,    /*      fabs                    */
-  C4X_BUILTIN_LABS,    /*      labs                    */
   C4X_BUILTIN_FIX,     /*      fast_ftoi               */
   C4X_BUILTIN_FIX_ANSI,        /*      ansi_ftoi               */
   C4X_BUILTIN_MPYI,    /*      fast_imult (only C3x)   */