Commit 2f0552b6 by Alan Modra Committed by Alan Modra

* config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.

From-SVN: r53815
parent 13fa982e
2002-05-24 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
2002-05-23 Vladimir Makarov <vmakarov@redhat.com> 2002-05-23 Vladimir Makarov <vmakarov@redhat.com>
* genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4 * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
......
...@@ -10256,8 +10256,10 @@ output_toc (file, x, labelno, mode) ...@@ -10256,8 +10256,10 @@ output_toc (file, x, labelno, mode)
if (TARGET_MINIMAL_TOC) if (TARGET_MINIMAL_TOC)
fputs (DOUBLE_INT_ASM_OP, file); fputs (DOUBLE_INT_ASM_OP, file);
else else
fprintf (file, "\t.tc FD_%lx_%lx[TC],", k[0], k[1]); fprintf (file, "\t.tc FD_%lx_%lx[TC],",
fprintf (file, "0x%lx%08lx\n", k[0], k[1]); k[0] & 0xffffffff, k[1] & 0xffffffff);
fprintf (file, "0x%lx%08lx\n",
k[0] & 0xffffffff, k[1] & 0xffffffff);
return; return;
} }
else else
...@@ -10265,8 +10267,10 @@ output_toc (file, x, labelno, mode) ...@@ -10265,8 +10267,10 @@ output_toc (file, x, labelno, mode)
if (TARGET_MINIMAL_TOC) if (TARGET_MINIMAL_TOC)
fputs ("\t.long ", file); fputs ("\t.long ", file);
else else
fprintf (file, "\t.tc FD_%lx_%lx[TC],", k[0], k[1]); fprintf (file, "\t.tc FD_%lx_%lx[TC],",
fprintf (file, "0x%lx,0x%lx\n", k[0], k[1]); k[0] & 0xffffffff, k[1] & 0xffffffff);
fprintf (file, "0x%lx,0x%lx\n",
k[0] & 0xffffffff, k[1] & 0xffffffff);
return; return;
} }
} }
...@@ -10283,8 +10287,8 @@ output_toc (file, x, labelno, mode) ...@@ -10283,8 +10287,8 @@ output_toc (file, x, labelno, mode)
if (TARGET_MINIMAL_TOC) if (TARGET_MINIMAL_TOC)
fputs (DOUBLE_INT_ASM_OP, file); fputs (DOUBLE_INT_ASM_OP, file);
else else
fprintf (file, "\t.tc FS_%lx[TC],", l); fprintf (file, "\t.tc FS_%lx[TC],", l & 0xffffffff);
fprintf (file, "0x%lx00000000\n", l); fprintf (file, "0x%lx00000000\n", l & 0xffffffff);
return; return;
} }
else else
...@@ -10292,8 +10296,8 @@ output_toc (file, x, labelno, mode) ...@@ -10292,8 +10296,8 @@ output_toc (file, x, labelno, mode)
if (TARGET_MINIMAL_TOC) if (TARGET_MINIMAL_TOC)
fputs ("\t.long ", file); fputs ("\t.long ", file);
else else
fprintf (file, "\t.tc FS_%lx[TC],", l); fprintf (file, "\t.tc FS_%lx[TC],", l & 0xffffffff);
fprintf (file, "0x%lx\n", l); fprintf (file, "0x%lx\n", l & 0xffffffff);
return; return;
} }
} }
...@@ -10343,8 +10347,10 @@ output_toc (file, x, labelno, mode) ...@@ -10343,8 +10347,10 @@ output_toc (file, x, labelno, mode)
if (TARGET_MINIMAL_TOC) if (TARGET_MINIMAL_TOC)
fputs (DOUBLE_INT_ASM_OP, file); fputs (DOUBLE_INT_ASM_OP, file);
else else
fprintf (file, "\t.tc ID_%lx_%lx[TC],", (long) high, (long) low); fprintf (file, "\t.tc ID_%lx_%lx[TC],",
fprintf (file, "0x%lx%08lx\n", (long) high, (long) low); (long) high & 0xffffffff, (long) low & 0xffffffff);
fprintf (file, "0x%lx%08lx\n",
(long) high & 0xffffffff, (long) low & 0xffffffff);
return; return;
} }
else else
...@@ -10355,16 +10361,17 @@ output_toc (file, x, labelno, mode) ...@@ -10355,16 +10361,17 @@ output_toc (file, x, labelno, mode)
fputs ("\t.long ", file); fputs ("\t.long ", file);
else else
fprintf (file, "\t.tc ID_%lx_%lx[TC],", fprintf (file, "\t.tc ID_%lx_%lx[TC],",
(long) high, (long) low); (long) high & 0xffffffff, (long) low & 0xffffffff);
fprintf (file, "0x%lx,0x%lx\n", (long) high, (long) low); fprintf (file, "0x%lx,0x%lx\n",
(long) high & 0xffffffff, (long) low & 0xffffffff);
} }
else else
{ {
if (TARGET_MINIMAL_TOC) if (TARGET_MINIMAL_TOC)
fputs ("\t.long ", file); fputs ("\t.long ", file);
else else
fprintf (file, "\t.tc IS_%lx[TC],", (long) low); fprintf (file, "\t.tc IS_%lx[TC],", (long) low & 0xffffffff);
fprintf (file, "0x%lx\n", (long) low); fprintf (file, "0x%lx\n", (long) low & 0xffffffff);
} }
return; return;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment