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: [rs6000] Fix x86 SSSE3 compatibility implementations and testcases


Hi!

On Tue, Dec 18, 2018 at 10:23:05PM -0600, Paul Clarke wrote:
> This patch is the analog to r266868-r266870, but for SSSE3.
> The SSSE3 tests had been inadvertently made to PASS without actually running
> the test code. Actually running the code turned up some previously undetected
> issues.
> 
> This patch fixes some issues in the implementations, fixes up the tests
> to use a union for the test data, which avoids strict aliasing issues,
> and enables the tests to actually run (by removing a dependency on
> __BUILTIN_CPU_SUPPORTS).
> 
> Also, there's a fairly insignificant change in the testcases that walk
> through the data as pairs of vectors from:
>   [0] and [1]
>   [2] and [3]
>   ...
>   [n-4] and [n-3]
>   [n-2] and [n-1]
> 
> to:
>   [0] and [1]
>   [1] and [2]
>   ...
>   [n-3] and [n-2]
>   [n-2] and [n-1]


> -  for (i = 0; i < 256; i += 4)
> +  for (i = 0; i < ARRAY_SIZE (vals); i ++)

Please write "i++", not "i ++", throughout.

I wonder if the extra overlap will not hide problems?  OTOH it is extra
testing of course.

Okay for trunk.  Thanks!


Segher


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