+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.
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.
/* 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++)
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,
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);