[PATCH, x86] Fix pblendv expand.
Jakub Jelinek
jakub@redhat.com
Tue Dec 9 21:54:00 GMT 2014
On Wed, Dec 10, 2014 at 12:33:52AM +0300, Evgeny Stupachenko wrote:
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/i386/blend.c
> @@ -0,0 +1,61 @@
> +/* Test correctness of size 3 store groups permutation. */
> +/* { dg-do run } */
> +/* { dg-options "-O3" } */
> +
> +#define N 50
> +
> +enum num3
> +{
> + a, b, c
> +};
> +
> +struct flags
> +{
> + enum num3 f;
Does this really has to be an enum? Doesn't unsigned int there work the
same?
> +int main()
> +{
> + int i;
> + long long *rr = (long long *)q[0].a;
> + bar(2, q);
> + for (i = 0; i < N * 2; i += 2)
> + if (rr[i] == -1 && rr[i + 1] == -1)
This is aliasing violation, can't you avoid that? I mean, just
check the individual struct flags fields? And with the aliasing violation
fixed, is there anything i?86 specific left in the testcase (i.e. shouldn't
it go either to gcc.dg/ or gcc.c-torture/execute/ instead?)?
Jakub
More information about the Gcc-patches
mailing list