This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/15425] New: 128-bit division do not work
- From: "hebisch at math dot uni dot wroc dot pl" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 13 May 2004 19:55:15 -0000
- Subject: [Bug target/15425] New: 128-bit division do not work
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The follwing program compiled by:
../gcc/xgcc -B../gcc tess_div.c
gives me:
$ ./a.out
6341068292483973050
the program:
#include <stdio.h>
int main(void)
{
typedef int myi128 __attribute__ ((mode(TI)));
myi128 x=0;
myi128 y=32;
long z=x/y;
printf("%ld\n", z);
return 0;
}
AFAIKS the arguments to `__divti3' function are passed incorrectly.
The problem affects GNU Pascal. Namely, gpc uses `bitsizetype' to
do adress calculation for packed arrays. On 64-bit targets
`bitsizetype' is done with 128-bit precision. Since on x86_64
such arithmetic does not work (with 3.3.3 backend) it makes
packed arrays unusable ont that target.
--
Summary: 128-bit division do not work
Product: gcc
Version: 3.3.3
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hebisch at math dot uni dot wroc dot pl
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: x86_64-unknown-linux-gnu
GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15425