Hello!
There is no point in writing e.g. "if ((ecx & bit_OSXSAVE) ==
(bit_OSXSAVE))", for single-bit constants. Simplify this to "if (ecx &
bit_OSXSAVE)".
2016-09-29 Uros Bizjak <[email protected]>
* gcc.target/i386/adx-check.h (main): Simplify feature bit tests.
* gcc.target/i386/avx2-check.h (main): Ditto.
* gcc.target/i386/avx512bw-check.h (main): Ditto.
* gcc.target/i386/avx512cd-check.h (main): Ditto.
* gcc.target/i386/avx512dq-check.h (main): Ditto.
* gcc.target/i386/avx512er-check.h (main): Ditto.
* gcc.target/i386/avx512f-check.h (main): Ditto.
* gcc.target/i386/avx512ifma-check.h (main): Ditto.
* gcc.target/i386/avx512vbmi-check.h (main): Ditto.
* gcc.target/i386/avx512vl-check.h (main): Ditto.
Tested on x86_64-linux-gnu {,-m32} and committed to mainline SVN.
Uros.
Index: gcc.target/i386/adx-check.h
===================================================================
--- gcc.target/i386/adx-check.h (revision 240626)
+++ gcc.target/i386/adx-check.h (working copy)
@@ -23,7 +23,7 @@ main ()
__cpuid_count (7, 0, eax, ebx, ecx, edx);
- if ((ebx & bit_ADX) == bit_ADX)
+ if (ebx & bit_ADX)
{
do_test ();
#ifdef DEBUG
Index: gcc.target/i386/avx2-check.h
===================================================================
--- gcc.target/i386/avx2-check.h (revision 240626)
+++ gcc.target/i386/avx2-check.h (working copy)
@@ -19,7 +19,7 @@ main ()
return 0;
/* Run AVX2 test only if host has AVX2 support. */
- if ((ecx & bit_OSXSAVE) == (bit_OSXSAVE))
+ if (ecx & bit_OSXSAVE)
{
if (__get_cpuid_max (0, NULL) < 7)
return 0;
@@ -26,7 +26,7 @@ main ()
__cpuid_count (7, 0, eax, ebx, ecx, edx);
- if ((avx_os_support ()) && ((ebx & bit_AVX2) == bit_AVX2))
+ if ((ebx & bit_AVX2) && avx_os_support ())
{
do_test ();
#ifdef DEBUG
Index: gcc.target/i386/avx512bw-check.h
===================================================================
--- gcc.target/i386/avx512bw-check.h (revision 240626)
+++ gcc.target/i386/avx512bw-check.h (working copy)
@@ -19,7 +19,7 @@ main ()
return 0;
/* Run AVX512BW test only if host has AVX512BW support. */
- if ((ecx & bit_OSXSAVE) == (bit_OSXSAVE))
+ if (ecx & bit_OSXSAVE)
{
if (__get_cpuid_max (0, NULL) < 7)
return 0;
@@ -26,7 +26,7 @@ main ()
__cpuid_count (7, 0, eax, ebx, ecx, edx);
- if ((avx512f_os_support ()) && ((ebx & bit_AVX512BW) == bit_AVX512BW))
+ if ((ebx & bit_AVX512BW) && avx512f_os_support ())
{
do_test ();
#ifdef DEBUG
Index: gcc.target/i386/avx512cd-check.h
===================================================================
--- gcc.target/i386/avx512cd-check.h (revision 240626)
+++ gcc.target/i386/avx512cd-check.h (working copy)
@@ -18,7 +18,7 @@ main ()
if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))
return 0;
- if ((ecx & bit_OSXSAVE) == (bit_OSXSAVE))
+ if (ecx & bit_OSXSAVE)
{
if (__get_cpuid_max (0, NULL) < 7)
return 0;
@@ -25,7 +25,7 @@ main ()
__cpuid_count (7, 0, eax, ebx, ecx, edx);
- if ((avx512f_os_support ()) && ((ebx & (bit_AVX512CD)) ==
(bit_AVX512CD)))
+ if ((ebx & bit_AVX512CD) && avx512f_os_support ())
{
do_test ();
#ifdef DEBUG
Index: gcc.target/i386/avx512dq-check.h
===================================================================
--- gcc.target/i386/avx512dq-check.h (revision 240626)
+++ gcc.target/i386/avx512dq-check.h (working copy)
@@ -19,7 +19,7 @@ main ()
return 0;
/* Run AVX512DQ test only if host has AVX512DQ support. */
- if ((ecx & bit_OSXSAVE) == (bit_OSXSAVE))
+ if (ecx & bit_OSXSAVE)
{
if (__get_cpuid_max (0, NULL) < 7)
return 0;
@@ -26,7 +26,7 @@ main ()
__cpuid_count (7, 0, eax, ebx, ecx, edx);
- if ((avx512f_os_support ()) && ((ebx & bit_AVX512DQ) == bit_AVX512DQ))
+ if ((ebx & bit_AVX512DQ) && avx512f_os_support ())
{
do_test ();
#ifdef DEBUG
Index: gcc.target/i386/avx512er-check.h
===================================================================
--- gcc.target/i386/avx512er-check.h (revision 240626)
+++ gcc.target/i386/avx512er-check.h (working copy)
@@ -18,7 +18,7 @@ main ()
if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))
return 0;
- if ((ecx & bit_OSXSAVE) == (bit_OSXSAVE))
+ if (ecx & bit_OSXSAVE)
{
if (__get_cpuid_max (0, NULL) < 7)
return 0;
@@ -25,7 +25,7 @@ main ()
__cpuid_count (7, 0, eax, ebx, ecx, edx);
- if ((avx512f_os_support ()) && ((ebx & bit_AVX512ER) == bit_AVX512ER))
+ if ((ebx & bit_AVX512ER) && avx512f_os_support ())
{
do_test ();
#ifdef DEBUG
Index: gcc.target/i386/avx512f-check.h
===================================================================
--- gcc.target/i386/avx512f-check.h (revision 240626)
+++ gcc.target/i386/avx512f-check.h (working copy)
@@ -19,7 +19,7 @@ main ()
return 0;
/* Run AVX512F test only if host has AVX512F support. */
- if ((ecx & bit_OSXSAVE) == (bit_OSXSAVE))
+ if (ecx & bit_OSXSAVE)
{
if (__get_cpuid_max (0, NULL) < 7)
return 0;
@@ -26,7 +26,7 @@ main ()
__cpuid_count (7, 0, eax, ebx, ecx, edx);
- if ((avx512f_os_support ()) && ((ebx & bit_AVX512F) == bit_AVX512F))
+ if ((ebx & bit_AVX512F) && avx512f_os_support ())
{
do_test ();
#ifdef DEBUG
Index: gcc.target/i386/avx512ifma-check.h
===================================================================
--- gcc.target/i386/avx512ifma-check.h (revision 240626)
+++ gcc.target/i386/avx512ifma-check.h (working copy)
@@ -18,7 +18,7 @@ main ()
if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))
return 0;
- if ((ecx & bit_OSXSAVE) == (bit_OSXSAVE))
+ if (ecx & bit_OSXSAVE)
{
if (__get_cpuid_max (0, NULL) < 7)
return 0;
@@ -25,7 +25,7 @@ main ()
__cpuid_count (7, 0, eax, ebx, ecx, edx);
- if ((avx512f_os_support ()) && ((ebx & bit_AVX512IFMA) ==
bit_AVX512IFMA))
+ if ((ebx & bit_AVX512IFMA) && avx512f_os_support ())
{
do_test ();
#ifdef DEBUG
Index: gcc.target/i386/avx512vbmi-check.h
===================================================================
--- gcc.target/i386/avx512vbmi-check.h (revision 240626)
+++ gcc.target/i386/avx512vbmi-check.h (working copy)
@@ -18,7 +18,7 @@ main ()
if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))
return 0;
- if ((ecx & bit_OSXSAVE) == (bit_OSXSAVE))
+ if (ecx & bit_OSXSAVE)
{
if (__get_cpuid_max (0, NULL) < 7)
return 0;
@@ -25,7 +25,7 @@ main ()
__cpuid_count (7, 0, eax, ebx, ecx, edx);
- if ((avx512f_os_support ()) && ((ecx & bit_AVX512VBMI) ==
bit_AVX512VBMI))
+ if ((ecx & bit_AVX512VBMI) && avx512f_os_support ())
{
do_test ();
#ifdef DEBUG
Index: gcc.target/i386/avx512vl-check.h
===================================================================
--- gcc.target/i386/avx512vl-check.h (revision 240626)
+++ gcc.target/i386/avx512vl-check.h (working copy)
@@ -19,7 +19,7 @@ main ()
return 0;
/* Run avx512vl test only if host has avx512vl support. */
- if ((ecx & bit_OSXSAVE) == (bit_OSXSAVE))
+ if (ecx & bit_OSXSAVE)
{
if (__get_cpuid_max (0, NULL) < 7)
return 0;
@@ -26,9 +26,7 @@ main ()
__cpuid_count (7, 0, eax, ebx, ecx, edx);
- if ((avx512f_os_support ())
- && ((ebx & bit_AVX512F) == bit_AVX512F)
- && ((ebx & bit_AVX512VL) == bit_AVX512VL))
+ if ((ebx & bit_AVX512VL) && avx512f_os_support ())
{
do_test ();
#ifdef DEBUG