Re: %fs and %gs segments on x86/x86-64

2015-07-03 Thread Richard Biener
On Thu, Jul 2, 2015 at 5:57 PM, Armin Rigo wrote: > Hi all, > > I implemented support for %fs and %gs segment prefixes on the x86 and > x86-64 platforms, in what turns out to be a small patch. > > For those not familiar with it, at least on x86-64, %fs and %gs are > two special registers that a us

Re: making the new if-converter not mangle IR that is already vectorizer-friendly

2015-07-03 Thread Alan Lawrence
Abe wrote: In other words, the problem about which I was concerned is not going to be triggered by e.g. "if (c) x = ..." which lacks an attached "else x = ..." in a multithreaded program without enough locking just because 'x' is global/static. The only remaining case to consider is if some

Possible issue with ARC gcc 4.8

2015-07-03 Thread Vineet Gupta
Hi, I have the following test case (reduced from Linux kernel sources) and it seems gcc is optimizing away the first loop iteration. arc-linux-gcc -c -O2 star-9000857057.c -fno-branch-count-reg --save-temps -mA7 --->8- static inline int __test_bit(unsigned int nr, const volat

Re: Possible issue with ARC gcc 4.8

2015-07-03 Thread Richard Biener
On Fri, Jul 3, 2015 at 3:10 PM, Vineet Gupta wrote: > Hi, > > I have the following test case (reduced from Linux kernel sources) and it > seems > gcc is optimizing away the first loop iteration. > > arc-linux-gcc -c -O2 star-9000857057.c -fno-branch-count-reg --save-temps -mA7 > > --->8--

Proposed AAPCS update - parameter passing types with modified alignments

2015-07-03 Thread Richard Earnshaw
Since it may take some time before an official update to the ARM AAPCS document can be made, I'm publishing a proposed change here for advanced notice. Alan will follow up with some GCC patches shortly to implement these changes. The proposed changes should deal with types that have been either u

Re: %fs and %gs segments on x86/x86-64

2015-07-03 Thread Jay
FYI similarly, fs: is special on NT/x86 & gs: is special on NT/amd64. In both cases they point to "mostly private builtin" thread locals and from there "publically extensible" thread locals -- TlsGetValue & __declspec(thread) are accessed, & x86 exception handling frame chain, which is just an