spu.c (array_to_constant): Fix (latent) wrong-code generation due to implicit sign extension.
* config/spu/spu.c (array_to_constant): Fix (latent) wrong-code generation due to implicit sign extension. From-SVN: r144034
This commit is contained in:
parent
4bb07c5d37
commit
e41e2ab405
2 changed files with 7 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
|||
2009-02-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
|
||||
|
||||
* config/spu/spu.c (array_to_constant): Fix (latent) wrong-code
|
||||
generation due to implicit sign extension.
|
||||
|
||||
2009-02-09 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
PR middle-end/38981
|
||||
|
|
|
@ -4722,9 +4722,8 @@ array_to_constant (enum machine_mode mode, unsigned char arr[16])
|
|||
}
|
||||
if (mode == DFmode)
|
||||
{
|
||||
val = (arr[0] << 24) | (arr[1] << 16) | (arr[2] << 8) | arr[3];
|
||||
val <<= 32;
|
||||
val |= (arr[4] << 24) | (arr[5] << 16) | (arr[6] << 8) | arr[7];
|
||||
for (i = 0, val = 0; i < 8; i++)
|
||||
val = (val << 8) | arr[i];
|
||||
return hwint_to_const_double (DFmode, val);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue