Skip to content

Commit a55148f

Browse files
authored
Use two-argument cpuid when using recent MinGW (#172)
1 parent a4f6d7b commit a55148f

File tree

9 files changed

+20
-20
lines changed

9 files changed

+20
-20
lines changed

Extensions/DirectXMathAVX.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ inline bool XMVerifyAVXSupport()
2828

2929
// See http://msdn.microsoft.com/en-us/library/hskdteyh.aspx
3030
int CPUInfo[4] = {-1};
31-
#if defined(__clang__) || defined(__GNUC__)
31+
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid)
3232
__cpuid(0, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
3333
#else
3434
__cpuid( CPUInfo, 0 );
@@ -37,7 +37,7 @@ inline bool XMVerifyAVXSupport()
3737
if ( CPUInfo[0] < 1 )
3838
return false;
3939

40-
#if defined(__clang__) || defined(__GNUC__)
40+
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid)
4141
__cpuid(1, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
4242
#else
4343
__cpuid(CPUInfo, 1 );

Extensions/DirectXMathAVX2.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ inline bool XMVerifyAVX2Support()
2929

3030
// See http://msdn.microsoft.com/en-us/library/hskdteyh.aspx
3131
int CPUInfo[4] = {-1};
32-
#if defined(__clang__) || defined(__GNUC__)
32+
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid)
3333
__cpuid(0, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
3434
#else
3535
__cpuid(CPUInfo, 0);
@@ -38,7 +38,7 @@ inline bool XMVerifyAVX2Support()
3838
if ( CPUInfo[0] < 7 )
3939
return false;
4040

41-
#if defined(__clang__) || defined(__GNUC__)
41+
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid)
4242
__cpuid(1, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
4343
#else
4444
__cpuid(CPUInfo, 1);

Extensions/DirectXMathBE.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ inline bool XMVerifySSSE3Support()
5959

6060
// See http://msdn.microsoft.com/en-us/library/hskdteyh.aspx
6161
int CPUInfo[4] = { -1 };
62-
#if defined(__clang__) || defined(__GNUC__)
62+
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid)
6363
__cpuid(0, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
6464
#else
6565
__cpuid(CPUInfo, 0);
@@ -68,7 +68,7 @@ inline bool XMVerifySSSE3Support()
6868
if ( CPUInfo[0] < 1 )
6969
return false;
7070

71-
#if defined(__clang__) || defined(__GNUC__)
71+
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid)
7272
__cpuid(1, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
7373
#else
7474
__cpuid(CPUInfo, 1);

Extensions/DirectXMathF16C.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ inline bool XMVerifyF16CSupport()
2929

3030
// See http://msdn.microsoft.com/en-us/library/hskdteyh.aspx
3131
int CPUInfo[4] = { -1 };
32-
#if defined(__clang__) || defined(__GNUC__)
32+
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid)
3333
__cpuid(0, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
3434
#else
3535
__cpuid(CPUInfo, 0);
@@ -38,7 +38,7 @@ inline bool XMVerifyF16CSupport()
3838
if ( CPUInfo[0] < 1 )
3939
return false;
4040

41-
#if defined(__clang__) || defined(__GNUC__)
41+
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid)
4242
__cpuid(1, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
4343
#else
4444
__cpuid(CPUInfo, 1);

Extensions/DirectXMathFMA3.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ inline bool XMVerifyFMA3Support()
2828

2929
// See http://msdn.microsoft.com/en-us/library/hskdteyh.aspx
3030
int CPUInfo[4] = {-1};
31-
#if defined(__clang__) || defined(__GNUC__)
31+
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid)
3232
__cpuid(0, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
3333
#else
3434
__cpuid(CPUInfo, 0);
@@ -37,7 +37,7 @@ inline bool XMVerifyFMA3Support()
3737
if ( CPUInfo[0] < 1 )
3838
return false;
3939

40-
#if defined(__clang__) || defined(__GNUC__)
40+
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid)
4141
__cpuid(1, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
4242
#else
4343
__cpuid(CPUInfo, 1);

Extensions/DirectXMathFMA4.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ inline bool XMVerifyFMA4Support()
3333

3434
// See http://msdn.microsoft.com/en-us/library/hskdteyh.aspx
3535
int CPUInfo[4] = {-1};
36-
#if defined(__clang__) || defined(__GNUC__)
36+
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid)
3737
__cpuid(0, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
3838
#else
3939
__cpuid(CPUInfo, 0);
@@ -42,7 +42,7 @@ inline bool XMVerifyFMA4Support()
4242
if ( CPUInfo[0] < 1 )
4343
return false;
4444

45-
#if defined(__clang__) || defined(__GNUC__)
45+
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid)
4646
__cpuid(1, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
4747
#else
4848
__cpuid(CPUInfo, 1);
@@ -52,7 +52,7 @@ inline bool XMVerifyFMA4Support()
5252
if ( (CPUInfo[2] & 0x18000000) != 0x18000000 )
5353
return false;
5454

55-
#if defined(__clang__) || defined(__GNUC__)
55+
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid)
5656
__cpuid(0x80000000, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
5757
#else
5858
__cpuid(CPUInfo, 0x80000000);
@@ -62,7 +62,7 @@ inline bool XMVerifyFMA4Support()
6262
return false;
6363

6464
// We check for FMA4
65-
#if defined(__clang__) || defined(__GNUC__)
65+
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid)
6666
__cpuid(0x80000001, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
6767
#else
6868
__cpuid(CPUInfo, 0x80000001);

Extensions/DirectXMathSSE3.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,15 @@ inline bool XMVerifySSE3Support()
2929

3030
// See http://msdn.microsoft.com/en-us/library/hskdteyh.aspx
3131
int CPUInfo[4] = { -1 };
32-
#if defined(__clang__) || defined(__GNUC__)
32+
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid)
3333
__cpuid(0, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
3434
#else
3535
__cpuid(CPUInfo, 0);
3636
#endif
3737
if ( CPUInfo[0] < 1 )
3838
return false;
3939

40-
#if defined(__clang__) || defined(__GNUC__)
40+
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid)
4141
__cpuid(1, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
4242
#else
4343
__cpuid(CPUInfo, 1);

Extensions/DirectXMathSSE4.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,15 @@ inline bool XMVerifySSE4Support()
2929

3030
// See http://msdn.microsoft.com/en-us/library/hskdteyh.aspx
3131
int CPUInfo[4] = { -1 };
32-
#if defined(__clang__) || defined(__GNUC__)
32+
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid)
3333
__cpuid(0, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
3434
#else
3535
__cpuid(CPUInfo, 0);
3636
#endif
3737
if ( CPUInfo[0] < 1 )
3838
return false;
3939

40-
#if defined(__clang__) || defined(__GNUC__)
40+
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid)
4141
__cpuid(1, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
4242
#else
4343
__cpuid(CPUInfo, 1);

Inc/DirectXMathMisc.inl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1973,7 +1973,7 @@ inline bool XMVerifyCPUSupport() noexcept
19731973
{
19741974
#if defined(_XM_SSE_INTRINSICS_) && !defined(_XM_NO_INTRINSICS_)
19751975
int CPUInfo[4] = { -1 };
1976-
#if defined(__clang__) || defined(__GNUC__)
1976+
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid)
19771977
__cpuid(0, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
19781978
#else
19791979
__cpuid(CPUInfo, 0);
@@ -1987,7 +1987,7 @@ inline bool XMVerifyCPUSupport() noexcept
19871987
return false;
19881988
#endif
19891989

1990-
#if defined(__clang__) || defined(__GNUC__)
1990+
#if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid)
19911991
__cpuid(1, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]);
19921992
#else
19931993
__cpuid(CPUInfo, 1);

0 commit comments

Comments
 (0)