On 08/13/14 16:10, DJ Delorie wrote:
The following five patches are the latest in my ongoing work to
replace the hard-coded __int128 type with a more flexible __int<N>
system that allows target-specific types that correspond to
partial-int modes. Specifically, this will allow targets to have
pointers that aren't powers-of-two in size. Tested on x86-64 with no
regressions and msp430-elf with a few where I couldn't figure out how
to fix the testsuite to properly detect the msp430's 20-bit pointer
size (but the msp430 results had a lot more new passes with my patches ;)
I'm pretty sure I've addressed everyone's concerns, and once again
I've manually split up the ChangeLog and patch into multiple posts for
the convenience of review....
__intN patch 1/5: convert-move optimization
A standalone patch that allows targets to provide a converter
(trunc/extend) between *any* two modes. Needed for the msp430
patch.
__intN patch 2/5: Fix assumptions about mode precisions
Many places in gcc use TYPE_SIZE instead of TYPE_PRECISION.
This patch set fixes many (I doubt I found *all* of them) such
cases.
__intN patch 3/5: main __int128 -> __intN conversion.
This is the main part of the patch. Doesn't require the other
patches for targets that only have power-of-two pointers.
Can you resend 3/5, I don't see it in my pendingpatches mailbox...
jeff