Hello,
Since r188786, expmed.c has this code:
bool is_neg;
(...)
if (CONST_INT_P (scalar_op1))
{
coeff = INTVAL (scalar_op1);
is_neg = coeff < 0;
}
else if (CONST_DOUBLE_P (scalar_op1))
{
if (CONST_DOUBLE_HIGH (scalar_op1) == 0
&& CONST_DOUBLE_LOW (scalar_op1) > 0)
{
coeff = CONST_DOUBLE_LOW (scalar_op1);
is_neg = false;
}
else if (CONST_DOUBLE_LOW (scalar_op1) == 0)
{
coeff = CONST_DOUBLE_HIGH (scalar_op1);
(...)
goto skip_synth;
}
}
else
goto skip_synth;
(...)
if (is_neg && mode_bitsize > HOST_BITS_PER_WIDE_INT)
This results in warnings for expmed.c during bootstrap on
powerpc64-unknown-linux-gnu:
../../trunk/gcc/expmed.c: In function ‘rtx_def* expand_mult(machine_mode, rtx,
rtx, rtx, int)’:
../../trunk/gcc/expmed.c:3215:7: warning: ‘is_neg’ may be used uninitialized
in this function [-Wmaybe-uninitialized]
if (is_neg && mode_bitsize > HOST_BITS_PER_WIDE_INT)
^
../../trunk/gcc/expmed.c:3236:7: warning: ‘coeff’ may be used uninitialized in
this function [-Wmaybe-uninitialized]
if (choose_mult_variant (mode, coeff, &algorithm, &variant, max_cost))
^
Could you have a look please?
Ciao!
Steven