+2001-01-14 Andreas Jaeger <aj@suse.de>
+
+ * config/i386/i386.c (ix86_split_fp_branch): Remove unused
+ variables.
+ (ix86_fp_compare_mode): Add unused attribute.
+ (ix86_expand_fp_movcc): Remove unused variable.
+ (ix86_expand_builtin): Make fcode unsigned.
+
+ * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
+ (expand_expr): Add cast to avoid signed warning.
+ (store_field): Likewise.
+ (store_constructor_field): Likewise.
+ (store_constructor): Likewise.
+ (store_expr): Likewise.
+ (clear_storage): Likewise.
+ (emit_group_store): Likewise.
+ (emit_group_load): Likewise.
+
2001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
* c-common.c: Move format checking code to ...
/* Subroutines used for code generation on IA-32.
- Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+ Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
This file is part of GNU CC.
enum machine_mode
ix86_fp_compare_mode (code)
- enum rtx_code code;
+ enum rtx_code code ATTRIBUTE_UNUSED;
{
/* ??? In order to make all comparisons reversible, we do all comparisons
non-trapping when compiling for IEEE. Once gcc is able to distinguish
rtx second, bypass;
rtx label = NULL_RTX;
enum rtx_code code = GET_CODE (condition);
- enum rtx_code bypass_code, second_code, first;
if (target2 != pc_rtx)
{
rtx operands[];
{
enum rtx_code code;
- enum machine_mode mode;
rtx tmp;
rtx compare_op;
tree arg0, arg1, arg2, arg3;
rtx op0, op1, op2, pat;
enum machine_mode tmode, mode0, mode1, mode2;
- int fcode = DECL_FUNCTION_CODE (fndecl);
+ unsigned int fcode = DECL_FUNCTION_CODE (fndecl);
switch (fcode)
{
/* Convert tree expression to rtl instructions, for GNU compiler.
- Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
- Free Software Foundation, Inc.
+ Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
to perform a structure copy. */
#ifndef MOVE_BY_PIECES_P
#define MOVE_BY_PIECES_P(SIZE, ALIGN) \
- (move_by_pieces_ninsns (SIZE, ALIGN) < MOVE_RATIO)
+ (move_by_pieces_ninsns (SIZE, ALIGN) < (unsigned int) MOVE_RATIO)
#endif
/* This array records the insn_code of insns to perform block moves. */
int shift = 0;
/* Handle trailing fragments that run over the size of the struct. */
- if (ssize >= 0 && bytepos + bytelen > ssize)
+ if (ssize >= 0 && bytepos + (HOST_WIDE_INT) bytelen > ssize)
{
shift = (bytelen - (ssize - bytepos)) * BITS_PER_UNIT;
bytelen = ssize - bytepos;
if (bytepos == 0
&& bytelen == GET_MODE_SIZE (GET_MODE (XEXP (src, 0))))
tmps[i] = XEXP (src, 0);
- else if (bytepos == GET_MODE_SIZE (GET_MODE (XEXP (src, 0)))
+ else if (bytepos == (HOST_WIDE_INT) GET_MODE_SIZE (GET_MODE (XEXP (src, 0)))
&& bytelen == GET_MODE_SIZE (GET_MODE (XEXP (src, 1))))
tmps[i] = XEXP (src, 1);
else
unsigned int bytelen = GET_MODE_SIZE (mode);
/* Handle trailing fragments that run over the size of the struct. */
- if (ssize >= 0 && bytepos + bytelen > ssize)
+ if (ssize >= 0 && bytepos + (HOST_WIDE_INT) bytelen > ssize)
{
if (BYTES_BIG_ENDIAN)
{
just move a zero. Otherwise, do this a piece at a time. */
if (GET_MODE (object) != BLKmode
&& GET_CODE (size) == CONST_INT
- && GET_MODE_SIZE (GET_MODE (object)) == INTVAL (size))
+ && GET_MODE_SIZE (GET_MODE (object)) == (unsigned int) INTVAL (size))
emit_move_insn (object, CONST0_RTX (GET_MODE (object)));
else
{
{
addr = plus_constant (addr, TREE_STRING_LENGTH (exp));
size = plus_constant (size, -TREE_STRING_LENGTH (exp));
- align = MIN (align, (BITS_PER_UNIT
- * (INTVAL (copy_size_rtx)
- & - INTVAL (copy_size_rtx))));
+ align = MIN (align,
+ (unsigned int) (BITS_PER_UNIT
+ * (INTVAL (copy_size_rtx)
+ & - INTVAL (copy_size_rtx))));
}
else
{
/* Show the alignment may no longer be what it was and update the alias
set, if required. */
if (bitpos != 0)
- align = MIN (align, bitpos & - bitpos);
+ align = MIN (align, (unsigned int) bitpos & - bitpos);
if (GET_CODE (target) == MEM)
MEM_ALIAS_SET (target) = alias_set;
!= fields_length (type))
|| mostly_zeros_p (exp))
&& (GET_CODE (target) != REG
- || GET_MODE_SIZE (GET_MODE (target)) == size))
+ || (HOST_WIDE_INT) GET_MODE_SIZE (GET_MODE (target)) == size))
{
if (! cleared)
clear_storage (target, GEN_INT (size), align);
PUT_MODE (blk_object, BLKmode);
- if (bitsize != GET_MODE_BITSIZE (GET_MODE (target)))
+ if (bitsize != (HOST_WIDE_INT) GET_MODE_BITSIZE (GET_MODE (target)))
emit_move_insn (object, target);
store_field (blk_object, bitsize, bitpos, mode, exp, VOIDmode, 0,
MIN ((int_size_in_bytes (TREE_TYPE
(TREE_OPERAND (exp, 0)))
* BITS_PER_UNIT),
- GET_MODE_BITSIZE (mode)),
+ (HOST_WIDE_INT) GET_MODE_BITSIZE (mode)),
0, TYPE_MODE (valtype), TREE_OPERAND (exp, 0),
VOIDmode, 0, BITS_PER_UNIT,
int_size_in_bytes (type), 0);