This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fix encoding of IEEE extended real on big-endian ia64 (PR14610)


Zack Weinberg <zack@codesourcery.com> writes:

> This is my candidate patch for the problem I described last night with
> the encoding of IEEE extended values.  I believe the problem is only
> visible on ia64-hpux, being the only current target that wants Intel
> format extended numbers but in big-endian order.
...

I've now been able to test this patch on ia64-hp-hpux11.23, and it
works, so I'm checking it in.  In addition to the new test cases, it
fixes gcc.c-torture/execute/ieee/fp-cmp-4e.c.

Mark, do you want this for 3.4.1?

zw

>         Bug 14610
>         * Makefile.in (min-insn-modes.o): Correct dependencies.
>         * real.c (encode_ieee_extended, decode_ieee_extended): Always
>         produce/consume 12-byte little-endian Intel format.
>         (encode_ieee_extended_128, decode_ieee_extended_128): Delete.
>         (encode_ieee_extended_motorola, decode_ieee_extended_motorola)
>         (encode_ieee_extended_intel_96, decode_ieee_extended_intel_96)
>         (encode_ieee_extended_intel_128, decode_ieee_extended_intel_128):
>         New functions which convert between 12-byte little-endian Intel
>         format and the desired format.
>         (ieee_extended_motorola_format, ieee_extended_intel_96_round_53_format)
>         (ieee_extended_intel_96_format, ieee_extended_intel_128_format):
>         Update.
> testsuite:
>         * gcc.dg/ia64-float80-1.c, gcc.dg/ia64-float80-2.c: New testcases.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]