[RS6000] IBM long double little-endian

2013-06-12 Thread Alan Modra
FLOAT_WORDS_BIG_ENDIAN doesn't work out too well for IBM extended double when little-endian, because we're thinking to keep the large magnitude double first. See the comment below on LONG_DOUBLE_LARGE_FIRST. This patch fixes all occurrences of FLOAT_WORDS_BIG_ENDIAN in the rs6000 backend (all of

Re: [RS6000] IBM long double little-endian

2013-06-12 Thread David Edelsohn
On Wed, Jun 12, 2013 at 10:53 AM, Alan Modra wrote: > * config/rs6000/rs6000.h (LONG_DOUBLE_LARGE_FIRST): Define. > * config/rs6000/rs6000.md (signbittf2): New insn. > (extenddftf2_internal): Use LONG_DOUBLE_LARGE_FIRST. > (abstf2_internal, cmptf_internal2): Likewi

Re: [RS6000] IBM long double little-endian

2013-06-12 Thread Alan Modra
On Wed, Jun 12, 2013 at 11:09:03AM -0400, David Edelsohn wrote: > On Wed, Jun 12, 2013 at 10:53 AM, Alan Modra wrote: > > > * config/rs6000/rs6000.h (LONG_DOUBLE_LARGE_FIRST): Define. > > * config/rs6000/rs6000.md (signbittf2): New insn. > > (extenddftf2_internal): Use LON

Re: [RS6000] IBM long double little-endian

2013-06-12 Thread David Edelsohn
What is your model for the way that the RTL and C statements in the new signbittf2 pattern interact? The C preparation statements are executed before the RTL code generated from the RTL template. In the patch, it seems that the new pattern is assuming that it can rely on some results produced by

Re: [RS6000] IBM long double little-endian

2013-06-12 Thread David Edelsohn
On Wed, Jun 12, 2013 at 10:53 AM, Alan Modra wrote: > FLOAT_WORDS_BIG_ENDIAN doesn't work out too well for IBM extended > double when little-endian, because we're thinking to keep the large > magnitude double first. See the comment below on > LONG_DOUBLE_LARGE_FIRST. > > This patch fixes all occu