This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: patch to fix constant math - 4th patch - wide-int.[ch] refresh
- From: Kenneth Zadeck <zadeck at naturalbridge dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: Mike Stump <mikestump at comcast dot net>, gcc-patches <gcc-patches at gcc dot gnu dot org>, Lawrence Crowl <crowl at google dot com>, rdsandiford at googlemail dot com, Marc Glisse <marc dot glisse at inria dot fr>
- Date: Thu, 01 Nov 2012 18:33:24 -0400
- Subject: Re: patch to fix constant math - 4th patch - wide-int.[ch] refresh
- References: <506C72C7.7090207@naturalbridge.com> <5072BAD1.5080701@naturalbridge.com> <87txu4n41o.fsf@talisman.home> <50743E2B.6000104@naturalbridge.com> <CAFiYyc2hQLUNzei2_cFmfDqV8GQORAMSwehrS_HEqg+r7j9Wjw@mail.gmail.com> <5936254E-4B37-4D1A-9951-C33172118127@comcast.net> <CAFiYyc1=8=LffiZ=EDBOy_uzn_ARdXk1OWxT=abYd8ot+iFp5Q@mail.gmail.com> <50891AAC.8090301@naturalbridge.com> <CAFiYyc15kmhRWhN3tsZqJDbZ5Uh6tVa45ssiYdsytLEfqaZ4zw@mail.gmail.com> <87y5im3orb.fsf@sandifor-thinkpad.stglab.manchester.uk.ibm.com> <CAFiYyc2buJtu8RMKnLnvvb-A2=aYwopO+RBLPO6iJ3gKnq-hvg@mail.gmail.com> <87pq3y3kyk.fsf@sandifor-thinkpad.stglab.manchester.uk.ibm.com> <CAFiYyc3NjOxpQ-Y9GDrQOET+dc3LXWuiuM=DxqmyASE8urRoWw@mail.gmail.com> <50912D85.1070002@naturalbridge.com> <CAFiYyc2Q2UQPmkhExi2c8f-BSGLv+Rq1rOy4NdPQmTqSRE1A0A@mail.gmail.com> <5091331C.3030504@naturalbridge.com> <CAFiYyc1L6zuehE75dEfd_fB1-81F1fDHpL3kS=tbk6qAK3Texg@mail.gmail.com> <5092F406.9060101@naturalbridge.com>
This patch refreshes wide-int.[ch]. Most of the changes are bug fixes
that were fixed for tree-vrp.c in patch 8.
There are two significant differences:
1) There are now constructors to override the precision and bitsize that
are normally taken from the type. These are used to perform the finite
"infinite precision" that is required by the tree-vrp.c pass. The
bitsize and precision passed in are the ones necessary to compile the
current function.
2) The signed and unsigned extension functions have changed a lot. The
ones with the name ext do an extension but the result always has the
bitsize and precision of this. the functions that are named
force_to_size, now return results based on the precision and bitsize
passed in after doing the proper extension.
The second change is in line with comments made by richi and others.
kenny