* [PATCH,rs6000] Change -mcrypto to only affect Category:Vector.Crypto instructions
@ 2015-03-04 20:14 Bill Schmidt
2015-03-04 22:32 ` David Edelsohn
2015-04-29 13:27 ` David Edelsohn
0 siblings, 2 replies; 4+ messages in thread
From: Bill Schmidt @ 2015-03-04 20:14 UTC (permalink / raw)
To: gcc-patches; +Cc: dje.gcc
Hi,
I recently observed that -mno-crypto disables all instructions in
section 5.11 of the 2.07 ISA, rather than just those flagged as
Category:Vector.Crypto. This patch fixes that undesirable situation.
The main fix is to ensure the remaining instructions are gated by
TARGET_P8_VECTOR rather than TARGET_CRYPTO. This leaves us in a
somewhat ugly state where we have builtins named __builtin_crypto_* that
are not controlled by -mcrypto. However, we have to keep support for
these existing builtins. As discussed elsewhere, the longer-term plan
is to implement a different common naming scheme for these builtins
across all POWER compilers, at which point the __builtin_crypto_* forms
will be deprecated.
The changes to rs6000-builtin.def aren't the prettiest in the world, but
were the best I could think of that continues support for the existing
builtins while changing their predicates. Let me know if there's a
better way.
Ok for trunk once GCC 5 branches? I would eventually like to fix this
in 4.8, 4.9, and 5 as well.
Thanks,
Bill
[gcc]
2015-03-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
TARGET_CRYPTO to TARGET_P8_VECTOR>
(crypto_vpermxor_<mode>): Likewise.
* config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
(BU_CRYPTO_3A): Likewise.
(BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
(BU_CRYPTO_OVERLOAD_3A): New #define.
(VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
(VPMSUMH): Likewise.
(VPMSUMW): Likewise.
(VPMSUMD): Likewise.
(VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
(VPERMXOR_V4SI): Likewise.
(VPERMXOR_V8HI): Likewise.
(VPERMXOR_V16QI): Likewise.
(VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
BU_CRYPTO_OVERLOAD_2A.
(VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
BU_CRYPTO_OVERLOAD_3A.
* config/rs6000/rs6000.opt (mcrypto): Change description of
option.
[gcc/testsuite]
2015-03-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/crypto-builtin-2.c: New.
Index: gcc/config/rs6000/crypto.md
===================================================================
--- gcc/config/rs6000/crypto.md (revision 221118)
+++ gcc/config/rs6000/crypto.md (working copy)
@@ -18,6 +18,15 @@
;; along with GCC; see the file COPYING3. If not see
;; <http://www.gnu.org/licenses/>.
+;; NOTE: Although this file contains all the instructions from
+;; section 5.11 of ISA 2.07, only those in sections 5.11.1 and
+;; 5.11.2 are in Category:Vector.Crypto. Those are the only
+;; ones controlled by -m[no-]crypto.
+
+;; FIXME: The builtin names for the instructions in this file
+;; are likely to be deprecated in favor of other names to be
+;; agreed upon with the XL compilers and LLVM.
+
(define_c_enum "unspec"
[UNSPEC_VCIPHER
UNSPEC_VNCIPHER
@@ -65,7 +74,7 @@
(unspec:CR_mode [(match_operand:CR_mode 1 "register_operand" "v")
(match_operand:CR_mode 2 "register_operand" "v")]
UNSPEC_VPMSUM))]
- "TARGET_CRYPTO"
+ "TARGET_P8_VECTOR"
"vpmsum<CR_char> %0,%1,%2"
[(set_attr "type" "crypto")])
@@ -76,7 +85,7 @@
(match_operand:CR_mode 2 "register_operand" "v")
(match_operand:CR_mode 3 "register_operand" "v")]
UNSPEC_VPERMXOR))]
- "TARGET_CRYPTO"
+ "TARGET_P8_VECTOR"
"vpermxor %0,%1,%2,%3"
[(set_attr "type" "crypto")])
Index: gcc/config/rs6000/rs6000-builtin.def
===================================================================
--- gcc/config/rs6000/rs6000-builtin.def (revision 221118)
+++ gcc/config/rs6000/rs6000-builtin.def (working copy)
@@ -392,6 +392,14 @@
| RS6000_BTC_BINARY), \
CODE_FOR_ ## ICODE) /* ICODE */
+#define BU_CRYPTO_2A(ENUM, NAME, ATTR, ICODE) \
+ RS6000_BUILTIN_2 (CRYPTO_BUILTIN_ ## ENUM, /* ENUM */ \
+ "__builtin_crypto_" NAME, /* NAME */ \
+ RS6000_BTM_P8_VECTOR, /* MASK */ \
+ (RS6000_BTC_ ## ATTR /* ATTR */ \
+ | RS6000_BTC_BINARY), \
+ CODE_FOR_ ## ICODE) /* ICODE */
+
#define BU_CRYPTO_3(ENUM, NAME, ATTR, ICODE) \
RS6000_BUILTIN_3 (CRYPTO_BUILTIN_ ## ENUM, /* ENUM */ \
"__builtin_crypto_" NAME, /* NAME */ \
@@ -400,6 +408,14 @@
| RS6000_BTC_TERNARY), \
CODE_FOR_ ## ICODE) /* ICODE */
+#define BU_CRYPTO_3A(ENUM, NAME, ATTR, ICODE) \
+ RS6000_BUILTIN_3 (CRYPTO_BUILTIN_ ## ENUM, /* ENUM */ \
+ "__builtin_crypto_" NAME, /* NAME */ \
+ RS6000_BTM_P8_VECTOR, /* MASK */ \
+ (RS6000_BTC_ ## ATTR /* ATTR */ \
+ | RS6000_BTC_TERNARY), \
+ CODE_FOR_ ## ICODE) /* ICODE */
+
#define BU_CRYPTO_OVERLOAD_1(ENUM, NAME) \
RS6000_BUILTIN_1 (CRYPTO_BUILTIN_ ## ENUM, /* ENUM */ \
"__builtin_crypto_" NAME, /* NAME */ \
@@ -408,10 +424,10 @@
| RS6000_BTC_UNARY), \
CODE_FOR_nothing) /* ICODE */
-#define BU_CRYPTO_OVERLOAD_2(ENUM, NAME) \
+#define BU_CRYPTO_OVERLOAD_2A(ENUM, NAME) \
RS6000_BUILTIN_2 (CRYPTO_BUILTIN_ ## ENUM, /* ENUM */ \
"__builtin_crypto_" NAME, /* NAME */ \
- RS6000_BTM_CRYPTO, /* MASK */ \
+ RS6000_BTM_P8_VECTOR, /* MASK */ \
(RS6000_BTC_OVERLOADED /* ATTR */ \
| RS6000_BTC_BINARY), \
CODE_FOR_nothing) /* ICODE */
@@ -424,6 +440,14 @@
| RS6000_BTC_TERNARY), \
CODE_FOR_nothing) /* ICODE */
+#define BU_CRYPTO_OVERLOAD_3A(ENUM, NAME) \
+ RS6000_BUILTIN_3 (CRYPTO_BUILTIN_ ## ENUM, /* ENUM */ \
+ "__builtin_crypto_" NAME, /* NAME */ \
+ RS6000_BTM_P8_VECTOR, /* MASK */ \
+ (RS6000_BTC_OVERLOADED /* ATTR */ \
+ | RS6000_BTC_TERNARY), \
+ CODE_FOR_nothing) /* ICODE */
+
/* HTM convenience macros. */
#define BU_HTM_0(ENUM, NAME, ATTR, ICODE) \
RS6000_BUILTIN_H (HTM_BUILTIN_ ## ENUM, /* ENUM */ \
@@ -1611,24 +1635,24 @@ BU_CRYPTO_2 (VCIPHER, "vcipher", CONST, crypto_
BU_CRYPTO_2 (VCIPHERLAST, "vcipherlast", CONST, crypto_vcipherlast)
BU_CRYPTO_2 (VNCIPHER, "vncipher", CONST, crypto_vncipher)
BU_CRYPTO_2 (VNCIPHERLAST, "vncipherlast", CONST, crypto_vncipherlast)
-BU_CRYPTO_2 (VPMSUMB, "vpmsumb", CONST, crypto_vpmsumb)
-BU_CRYPTO_2 (VPMSUMH, "vpmsumh", CONST, crypto_vpmsumh)
-BU_CRYPTO_2 (VPMSUMW, "vpmsumw", CONST, crypto_vpmsumw)
-BU_CRYPTO_2 (VPMSUMD, "vpmsumd", CONST, crypto_vpmsumd)
+BU_CRYPTO_2A (VPMSUMB, "vpmsumb", CONST, crypto_vpmsumb)
+BU_CRYPTO_2A (VPMSUMH, "vpmsumh", CONST, crypto_vpmsumh)
+BU_CRYPTO_2A (VPMSUMW, "vpmsumw", CONST, crypto_vpmsumw)
+BU_CRYPTO_2A (VPMSUMD, "vpmsumd", CONST, crypto_vpmsumd)
/* 3 argument crypto functions. */
-BU_CRYPTO_3 (VPERMXOR_V2DI, "vpermxor_v2di", CONST, crypto_vpermxor_v2di)
-BU_CRYPTO_3 (VPERMXOR_V4SI, "vpermxor_v4si", CONST, crypto_vpermxor_v4si)
-BU_CRYPTO_3 (VPERMXOR_V8HI, "vpermxor_v8hi", CONST, crypto_vpermxor_v8hi)
-BU_CRYPTO_3 (VPERMXOR_V16QI, "vpermxor_v16qi", CONST, crypto_vpermxor_v16qi)
+BU_CRYPTO_3A (VPERMXOR_V2DI, "vpermxor_v2di", CONST, crypto_vpermxor_v2di)
+BU_CRYPTO_3A (VPERMXOR_V4SI, "vpermxor_v4si", CONST, crypto_vpermxor_v4si)
+BU_CRYPTO_3A (VPERMXOR_V8HI, "vpermxor_v8hi", CONST, crypto_vpermxor_v8hi)
+BU_CRYPTO_3A (VPERMXOR_V16QI, "vpermxor_v16qi", CONST, crypto_vpermxor_v16qi)
BU_CRYPTO_3 (VSHASIGMAW, "vshasigmaw", CONST, crypto_vshasigmaw)
BU_CRYPTO_3 (VSHASIGMAD, "vshasigmad", CONST, crypto_vshasigmad)
/* 2 argument crypto overloaded functions. */
-BU_CRYPTO_OVERLOAD_2 (VPMSUM, "vpmsum")
+BU_CRYPTO_OVERLOAD_2A (VPMSUM, "vpmsum")
/* 3 argument crypto overloaded functions. */
-BU_CRYPTO_OVERLOAD_3 (VPERMXOR, "vpermxor")
+BU_CRYPTO_OVERLOAD_3A (VPERMXOR, "vpermxor")
BU_CRYPTO_OVERLOAD_3 (VSHASIGMA, "vshasigma")
\f
Index: gcc/config/rs6000/rs6000.opt
===================================================================
--- gcc/config/rs6000/rs6000.opt (revision 221118)
+++ gcc/config/rs6000/rs6000.opt (working copy)
@@ -559,7 +559,7 @@ Use/do not use vector and scalar instructions adde
mcrypto
Target Report Mask(CRYPTO) Var(rs6000_isa_flags)
-Use ISA 2.07 crypto instructions
+Use ISA 2.07 Category:Vector.Crypto instructions
mdirect-move
Target Report Mask(DIRECT_MOVE) Var(rs6000_isa_flags)
Index: gcc/testsuite/gcc.target/powerpc/crypto-builtin-2.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/crypto-builtin-2.c (revision 0)
+++ gcc/testsuite/gcc.target/powerpc/crypto-builtin-2.c (working copy)
@@ -0,0 +1,36 @@
+/* { dg-do compile { target { powerpc*-*-* } } } */
+/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_vsx_ok } */
+/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */
+/* { dg-options "-O2 -mcpu=power8 -mno-crypto" } */
+
+void use_builtins_d (__vector unsigned long long *p, __vector unsigned long long *q, __vector unsigned long long *r, __vector unsigned long long *s)
+{
+ p[0] = __builtin_crypto_vcipher (q[0], r[0]); /* { dg-error "Builtin function __builtin_crypto_vcipher is not supported with the current options" } */
+ p[1] = __builtin_crypto_vcipherlast (q[1], r[1]); /* { dg-error "Builtin function __builtin_crypto_vcipherlast is not supported with the current options" } */
+ p[2] = __builtin_crypto_vncipher (q[2], r[2]); /* { dg-error "Builtin function __builtin_crypto_vncipher is not supported with the current options" } */
+ p[3] = __builtin_crypto_vncipherlast (q[3], r[3]); /* { dg-error "Builtin function __builtin_crypto_vncipherlast is not supported with the current options" } */
+ p[4] = __builtin_crypto_vpermxor (q[4], r[4], s[4]);
+ p[5] = __builtin_crypto_vpmsumd (q[5], r[5]);
+ p[6] = __builtin_crypto_vshasigmad (q[6], 1, 15); /* { dg-error "Builtin function __builtin_crypto_vshasigmad is not supported with the current options" } */
+ p[7] = __builtin_crypto_vsbox (q[7]); /* { dg-error "Builtin function __builtin_crypto_vsbox is not supported with the current options" } */
+}
+
+void use_builtins_w (__vector unsigned int *p, __vector unsigned int *q, __vector unsigned int *r, __vector unsigned int *s)
+{
+ p[0] = __builtin_crypto_vpermxor (q[0], r[0], s[0]);
+ p[1] = __builtin_crypto_vpmsumw (q[1], r[1]);
+ p[2] = __builtin_crypto_vshasigmaw (q[2], 1, 15); /* { dg-error "Builtin function __builtin_crypto_vshasigmaw is not supported with the current options" } */
+}
+
+void use_builtins_h (__vector unsigned short *p, __vector unsigned short *q, __vector unsigned short *r, __vector unsigned short *s)
+{
+ p[0] = __builtin_crypto_vpermxor (q[0], r[0], s[0]);
+ p[1] = __builtin_crypto_vpmsumh (q[1], r[1]);
+}
+
+void use_builtins_b (__vector unsigned char *p, __vector unsigned char *q, __vector unsigned char *r, __vector unsigned char *s)
+{
+ p[0] = __builtin_crypto_vpermxor (q[0], r[0], s[0]);
+ p[1] = __builtin_crypto_vpmsumb (q[1], r[1]);
+}
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH,rs6000] Change -mcrypto to only affect Category:Vector.Crypto instructions
2015-03-04 20:14 [PATCH,rs6000] Change -mcrypto to only affect Category:Vector.Crypto instructions Bill Schmidt
@ 2015-03-04 22:32 ` David Edelsohn
2015-04-29 13:27 ` David Edelsohn
1 sibling, 0 replies; 4+ messages in thread
From: David Edelsohn @ 2015-03-04 22:32 UTC (permalink / raw)
To: Bill Schmidt; +Cc: GCC Patches
On Wed, Mar 4, 2015 at 3:14 PM, Bill Schmidt
<wschmidt@linux.vnet.ibm.com> wrote:
> Hi,
>
> I recently observed that -mno-crypto disables all instructions in
> section 5.11 of the 2.07 ISA, rather than just those flagged as
> Category:Vector.Crypto. This patch fixes that undesirable situation.
>
> The main fix is to ensure the remaining instructions are gated by
> TARGET_P8_VECTOR rather than TARGET_CRYPTO. This leaves us in a
> somewhat ugly state where we have builtins named __builtin_crypto_* that
> are not controlled by -mcrypto. However, we have to keep support for
> these existing builtins. As discussed elsewhere, the longer-term plan
> is to implement a different common naming scheme for these builtins
> across all POWER compilers, at which point the __builtin_crypto_* forms
> will be deprecated.
>
> The changes to rs6000-builtin.def aren't the prettiest in the world, but
> were the best I could think of that continues support for the existing
> builtins while changing their predicates. Let me know if there's a
> better way.
>
> Ok for trunk once GCC 5 branches? I would eventually like to fix this
> in 4.8, 4.9, and 5 as well.
>
> Thanks,
> Bill
>
>
> [gcc]
>
> 2015-03-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
>
> * config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
> TARGET_CRYPTO to TARGET_P8_VECTOR>
> (crypto_vpermxor_<mode>): Likewise.
> * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
> (BU_CRYPTO_3A): Likewise.
> (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
> (BU_CRYPTO_OVERLOAD_3A): New #define.
> (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
> (VPMSUMH): Likewise.
> (VPMSUMW): Likewise.
> (VPMSUMD): Likewise.
> (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
> (VPERMXOR_V4SI): Likewise.
> (VPERMXOR_V8HI): Likewise.
> (VPERMXOR_V16QI): Likewise.
> (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
> BU_CRYPTO_OVERLOAD_2A.
> (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
> BU_CRYPTO_OVERLOAD_3A.
> * config/rs6000/rs6000.opt (mcrypto): Change description of
> option.
>
> [gcc/testsuite]
>
> 2015-03-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
>
> * gcc.target/powerpc/crypto-builtin-2.c: New.
Okay.
This definitely should be fixed in all releases.
Thanks, David
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH,rs6000] Change -mcrypto to only affect Category:Vector.Crypto instructions
2015-03-04 20:14 [PATCH,rs6000] Change -mcrypto to only affect Category:Vector.Crypto instructions Bill Schmidt
2015-03-04 22:32 ` David Edelsohn
@ 2015-04-29 13:27 ` David Edelsohn
2015-04-30 21:58 ` Bill Schmidt
1 sibling, 1 reply; 4+ messages in thread
From: David Edelsohn @ 2015-04-29 13:27 UTC (permalink / raw)
To: Bill Schmidt; +Cc: GCC Patches
On Wed, Mar 4, 2015 at 3:14 PM, Bill Schmidt
<wschmidt@linux.vnet.ibm.com> wrote:
> Hi,
>
> I recently observed that -mno-crypto disables all instructions in
> section 5.11 of the 2.07 ISA, rather than just those flagged as
> Category:Vector.Crypto. This patch fixes that undesirable situation.
>
> The main fix is to ensure the remaining instructions are gated by
> TARGET_P8_VECTOR rather than TARGET_CRYPTO. This leaves us in a
> somewhat ugly state where we have builtins named __builtin_crypto_* that
> are not controlled by -mcrypto. However, we have to keep support for
> these existing builtins. As discussed elsewhere, the longer-term plan
> is to implement a different common naming scheme for these builtins
> across all POWER compilers, at which point the __builtin_crypto_* forms
> will be deprecated.
>
> The changes to rs6000-builtin.def aren't the prettiest in the world, but
> were the best I could think of that continues support for the existing
> builtins while changing their predicates. Let me know if there's a
> better way.
>
> Ok for trunk once GCC 5 branches? I would eventually like to fix this
> in 4.8, 4.9, and 5 as well.
> Index: gcc/testsuite/gcc.target/powerpc/crypto-builtin-2.c
> ===================================================================
> --- gcc/testsuite/gcc.target/powerpc/crypto-builtin-2.c (revision 0)
> +++ gcc/testsuite/gcc.target/powerpc/crypto-builtin-2.c (working copy)
> @@ -0,0 +1,36 @@
> +/* { dg-do compile { target { powerpc*-*-* } } } */
> +/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
> +/* { dg-require-effective-target powerpc_vsx_ok } */
> +/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */
> +/* { dg-options "-O2 -mcpu=power8 -mno-crypto" } */
Bill,
I think this test criterion is wrong and should be
Index: crypto-builtin-2.c
===================================================================
--- crypto-builtin-2.c (revision 222534)
+++ crypto-builtin-2.c (working copy)
@@ -1,6 +1,6 @@
/* { dg-do compile { target { powerpc*-*-* } } } */
/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
-/* { dg-require-effective-target powerpc_vsx_ok } */
+/* { dg-require-effective-target powerpc_p8vector_ok } */
/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*"
} { "-mcpu=power8" } } */
/* { dg-options "-O2 -mcpu=power8 -mno-crypto" } */
Thoughts?
- David
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH,rs6000] Change -mcrypto to only affect Category:Vector.Crypto instructions
2015-04-29 13:27 ` David Edelsohn
@ 2015-04-30 21:58 ` Bill Schmidt
0 siblings, 0 replies; 4+ messages in thread
From: Bill Schmidt @ 2015-04-30 21:58 UTC (permalink / raw)
To: David Edelsohn; +Cc: GCC Patches
Hi David,
I agree, and I'll fix the test as described and backport everywhere,
assuming I don't encounter any problems. Thanks for catching this!
Bill
On Wed, 2015-04-29 at 09:21 -0400, David Edelsohn wrote:
> On Wed, Mar 4, 2015 at 3:14 PM, Bill Schmidt
> <wschmidt@linux.vnet.ibm.com> wrote:
> > Hi,
> >
> > I recently observed that -mno-crypto disables all instructions in
> > section 5.11 of the 2.07 ISA, rather than just those flagged as
> > Category:Vector.Crypto. This patch fixes that undesirable situation.
> >
> > The main fix is to ensure the remaining instructions are gated by
> > TARGET_P8_VECTOR rather than TARGET_CRYPTO. This leaves us in a
> > somewhat ugly state where we have builtins named __builtin_crypto_* that
> > are not controlled by -mcrypto. However, we have to keep support for
> > these existing builtins. As discussed elsewhere, the longer-term plan
> > is to implement a different common naming scheme for these builtins
> > across all POWER compilers, at which point the __builtin_crypto_* forms
> > will be deprecated.
> >
> > The changes to rs6000-builtin.def aren't the prettiest in the world, but
> > were the best I could think of that continues support for the existing
> > builtins while changing their predicates. Let me know if there's a
> > better way.
> >
> > Ok for trunk once GCC 5 branches? I would eventually like to fix this
> > in 4.8, 4.9, and 5 as well.
>
> > Index: gcc/testsuite/gcc.target/powerpc/crypto-builtin-2.c
> > ===================================================================
> > --- gcc/testsuite/gcc.target/powerpc/crypto-builtin-2.c (revision 0)
> > +++ gcc/testsuite/gcc.target/powerpc/crypto-builtin-2.c (working copy)
> > @@ -0,0 +1,36 @@
> > +/* { dg-do compile { target { powerpc*-*-* } } } */
> > +/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
> > +/* { dg-require-effective-target powerpc_vsx_ok } */
> > +/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */
> > +/* { dg-options "-O2 -mcpu=power8 -mno-crypto" } */
>
> Bill,
>
> I think this test criterion is wrong and should be
>
> Index: crypto-builtin-2.c
> ===================================================================
> --- crypto-builtin-2.c (revision 222534)
> +++ crypto-builtin-2.c (working copy)
> @@ -1,6 +1,6 @@
> /* { dg-do compile { target { powerpc*-*-* } } } */
> /* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
> -/* { dg-require-effective-target powerpc_vsx_ok } */
> +/* { dg-require-effective-target powerpc_p8vector_ok } */
> /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*"
> } { "-mcpu=power8" } } */
> /* { dg-options "-O2 -mcpu=power8 -mno-crypto" } */
>
> Thoughts?
>
> - David
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-04-30 21:15 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-04 20:14 [PATCH,rs6000] Change -mcrypto to only affect Category:Vector.Crypto instructions Bill Schmidt
2015-03-04 22:32 ` David Edelsohn
2015-04-29 13:27 ` David Edelsohn
2015-04-30 21:58 ` Bill Schmidt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).