diff options
author | Michael Hayes <m.hayes@elec.canterbury.ac.nz> | 2001-01-05 03:58:12 +0000 |
---|---|---|
committer | Michael Hayes <m.hayes@gcc.gnu.org> | 2001-01-05 03:58:12 +0000 |
commit | 06dd70c652a8ca50e09037918bf4ef804ac1d601 (patch) | |
tree | aeea9175b71b47a39a19641ffe5835ec44bf79c1 /gcc | |
parent | 99e87c10036e8d45f31415ab6e3dc66c61bf4752 (diff) | |
download | gcc-06dd70c652a8ca50e09037918bf4ef804ac1d601.zip gcc-06dd70c652a8ca50e09037918bf4ef804ac1d601.tar.gz gcc-06dd70c652a8ca50e09037918bf4ef804ac1d601.tar.bz2 |
c4x.c (c4x_init_builtins): Remove builtin support for 'abs', 'labs', and 'fabs'.
* 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.
From-SVN: r38702
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/c4x/c4x.c | 49 | ||||
-rw-r--r-- | gcc/config/c4x/c4x.h | 3 |
3 files changed, 11 insertions, 50 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5322db5..a710137 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/config/c4x/c4x.c b/gcc/config/c4x/c4x.c index 775c7b6..230b54c 100644 --- a/gcc/config/c4x/c4x.c +++ b/gcc/config/c4x/c4x.c @@ -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); diff --git a/gcc/config/c4x/c4x.h b/gcc/config/c4x/c4x.h index eec7916..49b979e 100644 --- a/gcc/config/c4x/c4x.h +++ b/gcc/config/c4x/c4x.h @@ -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) */ |