@@ -40,6 +40,10 @@ extern size_t strlen(const char *);
#define AARCH64_ONLY(X)
#endif
+#if defined (USE_POLY_TYPES) && defined (__ARM_FEATURE_CRYPTO)
+#define USE_CRYPTO_TYPES 1
+#endif
+
#define xSTR(X) #X
#define STR(X) xSTR(X)
@@ -99,7 +103,7 @@ extern size_t strlen(const char *);
fprintf(stderr, "CHECKED %s %s\n", STR(VECT_TYPE(T, W, N)), MSG); \
}
-#if defined (__ARM_FEATURE_CRYPTO)
+#if defined (USE_CRYPTO_TYPES)
#define CHECK_CRYPTO(MSG,T,W,N,FMT,EXPECTED,COMMENT) \
CHECK(MSG,T,W,N,FMT,EXPECTED,COMMENT)
#else
@@ -155,7 +159,7 @@ static ARRAY(result, uint, 32, 2);
static ARRAY(result, uint, 64, 1);
static ARRAY(result, poly, 8, 8);
static ARRAY(result, poly, 16, 4);
-#if defined (__ARM_FEATURE_CRYPTO)
+#if defined (USE_CRYPTO_TYPES)
static ARRAY(result, poly, 64, 1);
#endif
#if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
@@ -175,7 +179,7 @@ static ARRAY(result, uint, 32, 4);
static ARRAY(result, uint, 64, 2);
static ARRAY(result, poly, 8, 16);
static ARRAY(result, poly, 16, 8);
-#if defined (__ARM_FEATURE_CRYPTO)
+#if defined (USE_CRYPTO_TYPES)
static ARRAY(result, poly, 64, 2);
#endif
#if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
@@ -198,7 +202,7 @@ extern ARRAY(expected, uint, 32, 2);
extern ARRAY(expected, uint, 64, 1);
extern ARRAY(expected, poly, 8, 8);
extern ARRAY(expected, poly, 16, 4);
-#if defined (__ARM_FEATURE_CRYPTO)
+#if defined (USE_CRYPTO_TYPES)
extern ARRAY(expected, poly, 64, 1);
#endif
extern ARRAY(expected, hfloat, 16, 4);
@@ -214,7 +218,7 @@ extern ARRAY(expected, uint, 32, 4);
extern ARRAY(expected, uint, 64, 2);
extern ARRAY(expected, poly, 8, 16);
extern ARRAY(expected, poly, 16, 8);
-#if defined (__ARM_FEATURE_CRYPTO)
+#if defined (USE_CRYPTO_TYPES)
extern ARRAY(expected, poly, 64, 2);
#endif
extern ARRAY(expected, hfloat, 16, 8);
@@ -420,7 +424,7 @@ static void clean_results (void)
CLEAN(result, uint, 64, 1);
CLEAN(result, poly, 8, 8);
CLEAN(result, poly, 16, 4);
-#if defined (__ARM_FEATURE_CRYPTO)
+#if defined (USE_CRYPTO_TYPES)
CLEAN(result, poly, 64, 1);
#endif
#if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
@@ -438,7 +442,7 @@ static void clean_results (void)
CLEAN(result, uint, 64, 2);
CLEAN(result, poly, 8, 16);
CLEAN(result, poly, 16, 8);
-#if defined (__ARM_FEATURE_CRYPTO)
+#if defined (USE_CRYPTO_TYPES)
CLEAN(result, poly, 64, 2);
#endif
#if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
@@ -466,7 +470,7 @@ static void clean_results (void)
#define DECL_VARIABLE(VAR, T1, W, N) \
VECT_TYPE(T1, W, N) VECT_VAR(VAR, T1, W, N)
-#if defined (__ARM_FEATURE_CRYPTO)
+#if defined (USE_CRYPTO_TYPES)
#define DECL_VARIABLE_CRYPTO(VAR, T1, W, N) \
DECL_VARIABLE(VAR, T1, W, N)
#else
@@ -570,7 +574,7 @@ static void clean_results (void)
/* Helpers to call macros with 1 constant and 5 variable
arguments. */
-#if defined (__ARM_FEATURE_CRYPTO)
+#if defined (USE_CRYPTO_TYPES)
#define MACRO_CRYPTO(MACRO, VAR1, VAR2, T1, T2, T3, W, N) \
MACRO(VAR1, VAR2, T1, T2, T3, W, N)
#else
@@ -4,7 +4,7 @@
/* { dg-require-effective-target arm_crypto_ok { target { arm*-*-* } } } */
/* { dg-add-options arm_crypto } */
/* { dg-additional-options "-march=armv8-a+crypto" { target { aarch64*-*-* } } }*/
-
+#define USE_POLY_TYPES 1
#include <arm_neon.h>
#include "arm-neon-ref.h"
#include "compute-ref-data.h"
@@ -3,7 +3,7 @@
/* { dg-require-effective-target arm_crypto_ok { target { arm*-*-* } } } */
/* { dg-add-options arm_crypto } */
/* { dg-additional-options "-march=armv8-a+crypto" { target { aarch64*-*-* } } }*/
-
+#define USE_POLY_TYPES 1
#include <arm_neon.h>
#include "arm-neon-ref.h"
#include "compute-ref-data.h"
@@ -3,7 +3,7 @@
/* { dg-require-effective-target arm_crypto_ok { target { arm*-*-* } } } */
/* { dg-add-options arm_crypto } */
/* { dg-additional-options "-march=armv8-a+crypto" { target { aarch64*-*-* } } }*/
-
+#define USE_POLY_TYPES 1
#include <arm_neon.h>
#include "arm-neon-ref.h"
#include "compute-ref-data.h"