mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-14 15:10:18 +08:00
rs6000.c (output_toc): Don't use lshift_double when HOST_BITS_PER_WIDE_INT == 64.
* config/rs6000/rs6000.c (output_toc): Don't use lshift_double when HOST_BITS_PER_WIDE_INT == 64. From-SVN: r55961
This commit is contained in:
parent
a4b5414c88
commit
fb52d8de78
@ -1,3 +1,8 @@
|
||||
2002-08-02 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
|
||||
HOST_BITS_PER_WIDE_INT == 64.
|
||||
|
||||
2002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* df.c (df_insn_table_realloc): Change parameter to unsigned.
|
||||
|
@ -11664,8 +11664,17 @@ output_toc (file, x, labelno, mode)
|
||||
abort ();/* It would be easy to make this work, but it doesn't now. */
|
||||
|
||||
if (POINTER_SIZE > GET_MODE_BITSIZE (mode))
|
||||
lshift_double (low, high, POINTER_SIZE - GET_MODE_BITSIZE (mode),
|
||||
POINTER_SIZE, &low, &high, 0);
|
||||
{
|
||||
#if HOST_BITS_PER_WIDE_INT == 32
|
||||
lshift_double (low, high, POINTER_SIZE - GET_MODE_BITSIZE (mode),
|
||||
POINTER_SIZE, &low, &high, 0);
|
||||
#else
|
||||
low |= high << 32;
|
||||
low <<= POINTER_SIZE - GET_MODE_BITSIZE (mode);
|
||||
high = (HOST_WIDE_INT) low >> 32;
|
||||
low &= 0xffffffff;
|
||||
#endif
|
||||
}
|
||||
|
||||
if (TARGET_64BIT)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user