p8vector-ldst.c: Adjust to test desired functionality for both 32-bit and 64-bit.

2016-02-26  Michael Meissner <meissner@linux.vnet.ibm.com>
	    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/p8vector-ldst.c: Adjust to test desired
	functionality for both 32-bit and 64-bit.


Co-Authored-By: Bill Schmidt <wschmidt@linux.vnet.ibm.com>

From-SVN: r233739
This commit is contained in:
Michael Meissner 2016-02-26 15:24:55 +00:00 committed by William Schmidt
parent f443514b82
commit c163789bfd
2 changed files with 95 additions and 85 deletions

View File

@ -1,3 +1,9 @@
2016-02-26 Michael Meissner <meissner@linux.vnet.ibm.com>
Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/p8vector-ldst.c: Adjust to test desired
functionality for both 32-bit and 64-bit.
2016-02-26 Richard Biener <rguenther@suse.de>
PR tree-optimization/69551

View File

@ -1,4 +1,4 @@
/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
/* { dg-do compile { target { powerpc*-*-* } } } */
/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
/* { dg-require-effective-target powerpc_p8vector_ok } */
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */
@ -51,13 +51,14 @@ load_store_sf (unsigned long num,
float value37 = 0.0f;
float value38 = 0.0f;
float value39 = 0.0f;
unsigned long in_mask;
unsigned long out_mask;
unsigned long in_mask, in_mask2;
unsigned long out_mask, out_mask2;
unsigned long i;
for (i = 0; i < num; i++)
{
in_mask = *in_mask_ptr++;
in_mask2 = *in_mask_ptr++;
if ((in_mask & (1L << 0)) != 0L)
value00 = *from_ptr++;
@ -118,67 +119,68 @@ load_store_sf (unsigned long num,
if ((in_mask & (1L << 19)) != 0L)
value19 = *from_ptr++;
if ((in_mask & (1L << 20)) != 0L)
if ((in_mask2 & (1L << 0)) != 0L)
value20 = *from_ptr++;
if ((in_mask & (1L << 21)) != 0L)
if ((in_mask2 & (1L << 1)) != 0L)
value21 = *from_ptr++;
if ((in_mask & (1L << 22)) != 0L)
if ((in_mask2 & (1L << 2)) != 0L)
value22 = *from_ptr++;
if ((in_mask & (1L << 23)) != 0L)
if ((in_mask2 & (1L << 3)) != 0L)
value23 = *from_ptr++;
if ((in_mask & (1L << 24)) != 0L)
if ((in_mask2 & (1L << 4)) != 0L)
value24 = *from_ptr++;
if ((in_mask & (1L << 25)) != 0L)
if ((in_mask2 & (1L << 5)) != 0L)
value25 = *from_ptr++;
if ((in_mask & (1L << 26)) != 0L)
if ((in_mask2 & (1L << 6)) != 0L)
value26 = *from_ptr++;
if ((in_mask & (1L << 27)) != 0L)
if ((in_mask2 & (1L << 7)) != 0L)
value27 = *from_ptr++;
if ((in_mask & (1L << 28)) != 0L)
if ((in_mask2 & (1L << 8)) != 0L)
value28 = *from_ptr++;
if ((in_mask & (1L << 29)) != 0L)
if ((in_mask2 & (1L << 9)) != 0L)
value29 = *from_ptr++;
if ((in_mask & (1L << 30)) != 0L)
if ((in_mask2 & (1L << 10)) != 0L)
value30 = *from_ptr++;
if ((in_mask & (1L << 31)) != 0L)
if ((in_mask2 & (1L << 11)) != 0L)
value31 = *from_ptr++;
if ((in_mask & (1L << 32)) != 0L)
if ((in_mask2 & (1L << 12)) != 0L)
value32 = *from_ptr++;
if ((in_mask & (1L << 33)) != 0L)
if ((in_mask2 & (1L << 13)) != 0L)
value33 = *from_ptr++;
if ((in_mask & (1L << 34)) != 0L)
if ((in_mask2 & (1L << 14)) != 0L)
value34 = *from_ptr++;
if ((in_mask & (1L << 35)) != 0L)
if ((in_mask2 & (1L << 15)) != 0L)
value35 = *from_ptr++;
if ((in_mask & (1L << 36)) != 0L)
if ((in_mask2 & (1L << 16)) != 0L)
value36 = *from_ptr++;
if ((in_mask & (1L << 37)) != 0L)
if ((in_mask2 & (1L << 17)) != 0L)
value37 = *from_ptr++;
if ((in_mask & (1L << 38)) != 0L)
if ((in_mask2 & (1L << 18)) != 0L)
value38 = *from_ptr++;
if ((in_mask & (1L << 39)) != 0L)
if ((in_mask2 & (1L << 19)) != 0L)
value39 = *from_ptr++;
out_mask = *out_mask_ptr++;
out_mask2 = *out_mask_ptr++;
if ((out_mask & (1L << 0)) != 0L)
*to_ptr++ = value00;
@ -239,64 +241,64 @@ load_store_sf (unsigned long num,
if ((out_mask & (1L << 19)) != 0L)
*to_ptr++ = value19;
if ((out_mask & (1L << 20)) != 0L)
if ((out_mask2 & (1L << 0)) != 0L)
*to_ptr++ = value20;
if ((out_mask & (1L << 21)) != 0L)
if ((out_mask2 & (1L << 1)) != 0L)
*to_ptr++ = value21;
if ((out_mask & (1L << 22)) != 0L)
if ((out_mask2 & (1L << 2)) != 0L)
*to_ptr++ = value22;
if ((out_mask & (1L << 23)) != 0L)
if ((out_mask2 & (1L << 3)) != 0L)
*to_ptr++ = value23;
if ((out_mask & (1L << 24)) != 0L)
if ((out_mask2 & (1L << 4)) != 0L)
*to_ptr++ = value24;
if ((out_mask & (1L << 25)) != 0L)
if ((out_mask2 & (1L << 5)) != 0L)
*to_ptr++ = value25;
if ((out_mask & (1L << 26)) != 0L)
if ((out_mask2 & (1L << 6)) != 0L)
*to_ptr++ = value26;
if ((out_mask & (1L << 27)) != 0L)
if ((out_mask2 & (1L << 7)) != 0L)
*to_ptr++ = value27;
if ((out_mask & (1L << 28)) != 0L)
if ((out_mask2 & (1L << 8)) != 0L)
*to_ptr++ = value28;
if ((out_mask & (1L << 29)) != 0L)
if ((out_mask2 & (1L << 9)) != 0L)
*to_ptr++ = value29;
if ((out_mask & (1L << 30)) != 0L)
if ((out_mask2 & (1L << 10)) != 0L)
*to_ptr++ = value30;
if ((out_mask & (1L << 31)) != 0L)
if ((out_mask2 & (1L << 11)) != 0L)
*to_ptr++ = value31;
if ((out_mask & (1L << 32)) != 0L)
if ((out_mask2 & (1L << 12)) != 0L)
*to_ptr++ = value32;
if ((out_mask & (1L << 33)) != 0L)
if ((out_mask2 & (1L << 13)) != 0L)
*to_ptr++ = value33;
if ((out_mask & (1L << 34)) != 0L)
if ((out_mask2 & (1L << 14)) != 0L)
*to_ptr++ = value34;
if ((out_mask & (1L << 35)) != 0L)
if ((out_mask2 & (1L << 15)) != 0L)
*to_ptr++ = value35;
if ((out_mask & (1L << 36)) != 0L)
if ((out_mask2 & (1L << 16)) != 0L)
*to_ptr++ = value36;
if ((out_mask & (1L << 37)) != 0L)
if ((out_mask2 & (1L << 17)) != 0L)
*to_ptr++ = value37;
if ((out_mask & (1L << 38)) != 0L)
if ((out_mask2 & (1L << 18)) != 0L)
*to_ptr++ = value38;
if ((out_mask & (1L << 39)) != 0L)
if ((out_mask2 & (1L << 19)) != 0L)
*to_ptr++ = value39;
}
@ -357,13 +359,14 @@ load_store_df (unsigned long num,
double value37 = 0.0;
double value38 = 0.0;
double value39 = 0.0;
unsigned long in_mask;
unsigned long out_mask;
unsigned long in_mask, in_mask2;
unsigned long out_mask, out_mask2;
unsigned long i;
for (i = 0; i < num; i++)
{
in_mask = *in_mask_ptr++;
in_mask2 = *in_mask_ptr++;
if ((in_mask & (1L << 0)) != 0L)
value00 = *from_ptr++;
@ -424,67 +427,68 @@ load_store_df (unsigned long num,
if ((in_mask & (1L << 19)) != 0L)
value19 = *from_ptr++;
if ((in_mask & (1L << 20)) != 0L)
if ((in_mask2 & (1L << 0)) != 0L)
value20 = *from_ptr++;
if ((in_mask & (1L << 21)) != 0L)
if ((in_mask2 & (1L << 1)) != 0L)
value21 = *from_ptr++;
if ((in_mask & (1L << 22)) != 0L)
if ((in_mask2 & (1L << 2)) != 0L)
value22 = *from_ptr++;
if ((in_mask & (1L << 23)) != 0L)
if ((in_mask2 & (1L << 3)) != 0L)
value23 = *from_ptr++;
if ((in_mask & (1L << 24)) != 0L)
if ((in_mask2 & (1L << 4)) != 0L)
value24 = *from_ptr++;
if ((in_mask & (1L << 25)) != 0L)
if ((in_mask2 & (1L << 5)) != 0L)
value25 = *from_ptr++;
if ((in_mask & (1L << 26)) != 0L)
if ((in_mask2 & (1L << 6)) != 0L)
value26 = *from_ptr++;
if ((in_mask & (1L << 27)) != 0L)
if ((in_mask2 & (1L << 7)) != 0L)
value27 = *from_ptr++;
if ((in_mask & (1L << 28)) != 0L)
if ((in_mask2 & (1L << 8)) != 0L)
value28 = *from_ptr++;
if ((in_mask & (1L << 29)) != 0L)
if ((in_mask2 & (1L << 9)) != 0L)
value29 = *from_ptr++;
if ((in_mask & (1L << 30)) != 0L)
if ((in_mask2 & (1L << 10)) != 0L)
value30 = *from_ptr++;
if ((in_mask & (1L << 31)) != 0L)
if ((in_mask2 & (1L << 11)) != 0L)
value31 = *from_ptr++;
if ((in_mask & (1L << 32)) != 0L)
if ((in_mask2 & (1L << 12)) != 0L)
value32 = *from_ptr++;
if ((in_mask & (1L << 33)) != 0L)
if ((in_mask2 & (1L << 13)) != 0L)
value33 = *from_ptr++;
if ((in_mask & (1L << 34)) != 0L)
if ((in_mask2 & (1L << 14)) != 0L)
value34 = *from_ptr++;
if ((in_mask & (1L << 35)) != 0L)
if ((in_mask2 & (1L << 15)) != 0L)
value35 = *from_ptr++;
if ((in_mask & (1L << 36)) != 0L)
if ((in_mask2 & (1L << 16)) != 0L)
value36 = *from_ptr++;
if ((in_mask & (1L << 37)) != 0L)
if ((in_mask2 & (1L << 17)) != 0L)
value37 = *from_ptr++;
if ((in_mask & (1L << 38)) != 0L)
if ((in_mask2 & (1L << 18)) != 0L)
value38 = *from_ptr++;
if ((in_mask & (1L << 39)) != 0L)
if ((in_mask2 & (1L << 19)) != 0L)
value39 = *from_ptr++;
out_mask = *out_mask_ptr++;
out_mask2 = *out_mask_ptr++;
if ((out_mask & (1L << 0)) != 0L)
*to_ptr++ = value00;
@ -545,64 +549,64 @@ load_store_df (unsigned long num,
if ((out_mask & (1L << 19)) != 0L)
*to_ptr++ = value19;
if ((out_mask & (1L << 20)) != 0L)
if ((out_mask2 & (1L << 0)) != 0L)
*to_ptr++ = value20;
if ((out_mask & (1L << 21)) != 0L)
if ((out_mask2 & (1L << 1)) != 0L)
*to_ptr++ = value21;
if ((out_mask & (1L << 22)) != 0L)
if ((out_mask2 & (1L << 2)) != 0L)
*to_ptr++ = value22;
if ((out_mask & (1L << 23)) != 0L)
if ((out_mask2 & (1L << 3)) != 0L)
*to_ptr++ = value23;
if ((out_mask & (1L << 24)) != 0L)
if ((out_mask2 & (1L << 4)) != 0L)
*to_ptr++ = value24;
if ((out_mask & (1L << 25)) != 0L)
if ((out_mask2 & (1L << 5)) != 0L)
*to_ptr++ = value25;
if ((out_mask & (1L << 26)) != 0L)
if ((out_mask2 & (1L << 6)) != 0L)
*to_ptr++ = value26;
if ((out_mask & (1L << 27)) != 0L)
if ((out_mask2 & (1L << 7)) != 0L)
*to_ptr++ = value27;
if ((out_mask & (1L << 28)) != 0L)
if ((out_mask2 & (1L << 8)) != 0L)
*to_ptr++ = value28;
if ((out_mask & (1L << 29)) != 0L)
if ((out_mask2 & (1L << 9)) != 0L)
*to_ptr++ = value29;
if ((out_mask & (1L << 30)) != 0L)
if ((out_mask2 & (1L << 10)) != 0L)
*to_ptr++ = value30;
if ((out_mask & (1L << 31)) != 0L)
if ((out_mask2 & (1L << 11)) != 0L)
*to_ptr++ = value31;
if ((out_mask & (1L << 32)) != 0L)
if ((out_mask2 & (1L << 12)) != 0L)
*to_ptr++ = value32;
if ((out_mask & (1L << 33)) != 0L)
if ((out_mask2 & (1L << 13)) != 0L)
*to_ptr++ = value33;
if ((out_mask & (1L << 34)) != 0L)
if ((out_mask2 & (1L << 14)) != 0L)
*to_ptr++ = value34;
if ((out_mask & (1L << 35)) != 0L)
if ((out_mask2 & (1L << 15)) != 0L)
*to_ptr++ = value35;
if ((out_mask & (1L << 36)) != 0L)
if ((out_mask2 & (1L << 16)) != 0L)
*to_ptr++ = value36;
if ((out_mask & (1L << 37)) != 0L)
if ((out_mask2 & (1L << 17)) != 0L)
*to_ptr++ = value37;
if ((out_mask & (1L << 38)) != 0L)
if ((out_mask2 & (1L << 18)) != 0L)
*to_ptr++ = value38;
if ((out_mask & (1L << 39)) != 0L)
if ((out_mask2 & (1L << 19)) != 0L)
*to_ptr++ = value39;
}