On 09/06/16 06:57, David Edelsohn wrote:
What about Jakub's comment in the PR?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77378#c6
This needs addressing. Can you clarify PPC behaviour, because I may have
misunderstood:
1) PPC currently has 64 bit counters -- but cannot support 64bit atomic ops in
32 bit mode.
2) PPC currently has 32 bit counters anyway.
I had interpreted the comment to be implying #2, but now I'm not so sure.
The proposed patch seems wrong or at least incomplete. The recent
change is imposing a 64 bit DImode counter when producing 32 bit code.
PowerPC does support 64 bit atomic operations in 32 bit mode.
I'm presuming you've missed a 'NOT' in that sentence.
Was there a design decision that profile counters always should be 64
bits? Either 32 bit targets won't support multi-threaded profiling or
32 bit targets can overflow the counter sooner.
Which is worse?
Which is more likely?
My initial thought is that it is probably awkward to support 2 different sized
counter types in the 'same' config. I.e. 64-bit single-threaded counters and
32-bit threaded counters.
nathan