Bug#327351: gcc-4.0: Gcc miscompiles libc on hppa - breaks rounding
- To: "Wesley W. Terpstra" <wesley@terpstra.ca>
- Cc: 327351@bugs.debian.org
- Subject: Bug#327351: gcc-4.0: Gcc miscompiles libc on hppa - breaks rounding
- From: Falk Hueffner <falk@debian.org>
- Date: Fri, 09 Sep 2005 15:48:15 +0200
- Message-id: <[🔎] 87hdcugxnk.fsf@debian.org>
- Reply-to: Falk Hueffner <falk@debian.org>, 327351@bugs.debian.org
- In-reply-to: <41FE5202-8D00-49B2-BB9C-87205176C720@terpstra.ca> (Wesley W. Terpstra's message of "Fri, 9 Sep 2005 15:37:59 +0200")
- References: <E1EDhoH-0003Qb-00@paer.debian.org> <87psrigzd5.fsf@debian.org> <A16FD4D4-D8FB-47FE-AEC0-BE686263C84B@terpstra.ca> <41FE5202-8D00-49B2-BB9C-87205176C720@terpstra.ca>
"Wesley W. Terpstra" <wesley@terpstra.ca> writes:
> I tried using
>
> __asm__ ("fstd %%fr0,0(%1)" : "=m" (*sw) : "r" (sw));
>
> sw[BYTE] &= ~FE_DOWNWARD;
>
> sw[BYTE] |= round;
>
> __asm__ ("fldd 0(%0), %%fr0" : : "r" (sw), "r" (*sw));
>
> ... and it worked.
That's only by chance. gcc still cannot see that you're accessing *sw.
--
Falk
Reply to: