This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [committed][trans-mem, aa64, arm, ppc, s390] Fixing PR68964


On 13 January 2016 at 18:17, Richard Henderson <rth@redhat.com> wrote:
> On 01/12/2016 08:53 AM, Richard Henderson wrote:
>>
>> The problem in this PR is that we never got around to flushing out the
>> vector
>> support for transactions for anything but x86.  My goal here is to make
>> this as
>> generic as possible, so that it should Just Work with existing vector
>> support
>> in the backend.
>>
>> In addition, if I encounter other unexpected register types, I will now
>> copy
>> them to memory and use memcpy, rather than crash.
>>
>> The one piece of this that requires a tiny bit of extra work is enabling
>> the
>> vector entry points in libitm.
>>
>> For x86, we make sure to build the files with SSE or AVX support enabled.
>> For
>> s390x, I do the same thing, enabling z13 support.  I suppose we might need
>> to
>> check for binutils support, but I'd rather do this only if necessary.
>>
>> For arm I'm less sure what to do, since I seem to recall that use of Neon
>> sets
>> a bit in the ELF header.  Which presumably means that the binary could no
>> longer be run without neon, even though the entry points wouldn't be used.
>>
>> For powerpc, I don't know how to select Altivec if VSX isn't already
>> enabled,
>> or indeed if that's the best thing to do.
>
>
> Based on feedback from dje, I now force -maltivec for the file; if the
> compilation flags already select power8 or the like, we continue to use vsx
> instructions in the file.
>
> I don't see an easy way to produce a universal build for arm32.  It may well
> be possible to do with extra effort.  If someone else would like to have a
> go,
> that's fine.  But given how gcc is built for the various distributions, I
> think it could be a waste of time.  Normally neon is going to be enabled or
> disabled at configure time, depending on the platform that is being
> targeted.
>
> Re-tested on x86_64, ppc64, s390x, and armv7l-linux-gnueabihf and committed.
>

Hi,

After this commit I can see this new failure:
gcc.dg/tm/memopt-5.c scan-tree-dump-times tmedge "ITM_LU[0-9]
\\(&lala.x\\[55\\]" 1

I'm not familiar with tm; I looked quickly at the dump, and saw:
  __builtin__ITM_LB (&lala.x[55], 4);
which is what is the most similar to what your are expecting to match.

>
> r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]