__intN patch 0/5: summary
DJ Delorie
dj@redhat.com
Wed Aug 13 22:10:00 GMT 2014
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.
__intN patch 4/5: testsuite updates
Some of the tests had their own assumption about pointer sizes
:-P
__intN patch 5/5: msp430-specific changes
For completeness, this is the msp430-specific fixes and
optimizations to fully support 20-bit pointers.
More information about the Gcc-patches
mailing list