On 11/26/2013 08:44 AM, Richard Earnshaw wrote:
On 26/11/13 09:18, Eric Botcazou wrote:
you are correct - this was an incorrect change.   I believe that the
patch below would be correct, but it is impossible to test it because (i
believe) that gcc no longer works if the host_bits_per_wide_int is 32.
I could be wrong about this but if i am correct, what do you want me to do?
While you're right that most mainstream architectures now require a 64-bit
HWI, not all of them do according to config.gcc, so I don't think that this
path is entirely dead yet.  I'll carry out the testing once we agree on the
final change.
I'm hoping, once this patch series is in that we might be able to
migrate the ARM port back to supporting a 32-bit HWI.  The driving
factor behind the original switch was supporting 128-bit constants for
Neon and these patches should resolve that.

R.

Richard,

I had not realized that you were into self abuse like that. you are going to have a bad time. I tried this as a way to test the wide-int branch because if we made hwi be 32bits, then it would trigger the long version of the implementation wide-int routines. What a disaster!!!! richard sandiford told me not to try and i ignored him. that was a wasted weekend!!! There are roadblocks everywhere. i certainly do not have a complete list, because i gave up after hacking a few things back. But very quickly you find places like real.[ch] which no longer work because the math that the dfp people hacked into it no longer works if the hwis are 32 bits. it is misleading because all of the tests are still there, it is just that the equations return the wrong answers. It is like this, one place after another.

As far as your hope that once this patch goes in you would be able to support 128 bit constants is only partially true. it will/should be the case, that you always get the correct answer and the code will not ice. That is the good news. But the bad news is that there is still way to much code of the form, if var fits in hwi, do some optimization, else do not do the optimization. Richi did not want me to attack this code yet because it would have made the patches even bigger. For the rtl level a lot of this was removed because i did it before he told me not to, but the tree level still has tons of code like this. So at least for a long time, like the close of the next release, this is not going to get fixed.

Kenny





Reply via email to