On Fri, 19 May 2006, Mark Mitchell wrote:
> > No, you can invoke it via using the attribute mode(TI)
> Sure, but I'm not worried about that case.

That would be the only class of C or C++ failures that I could easily
construct by hand.  Although the RTL optimizers will introduce TImode
moves and temporary registers, it looks like they won't introduce any
arithmetic/logical operations without explicit pattern support from
the backend.

Hence, it's only things like configure scripts that identify the
presence of __int128_t and __uint128_t, and then explicitly use
128-bit operations in their source code that will be affected.
This is the source of the libgfortran failure, where the runtime
library detects these types are available, and uses them.  It's
not a problem in the gfortran compiler itself, which treats
INTEGER*8, exactly the same way the C/C++ treat __int128_t.

If libstdc++-3's configure checked for __int128_t and provided
a specialized STL instantiation, it would exhibit the same issue.

Roger
--

Reply via email to