@@ -95,16 +95,16 @@ GLOBL bad_proc_msg<>(SB), RODATA, $78
95
95
// Define a list of AMD64 microarchitecture level features
96
96
// https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels
97
97
98
- // SSE3 SSSE3 CMPXCHNG16 SSE4.1 SSE4.2 POPCNT
99
- #define V2_FEATURES_CX (1 << 0 | 1 << 9 | 1 << 13 | 1 << 19 | 1 << 20 | 1 << 23 )
100
- // LAHF/SAHF
101
- #define V2_EXT_FEATURES_CX (1 << 0 )
102
- // FMA MOVBE OSXSAVE AVX F16C
103
- #define V3_FEATURES_CX (V2_FEATURES_CX | 1 << 12 | 1 << 22 | 1 << 27 | 1 << 28 | 1 << 29 )
104
- // ABM (FOR LZNCT)
105
- #define V3_EXT_FEATURES_CX (V2_EXT_FEATURES_CX | 1 << 5 )
106
- // BMI1 AVX2 BMI2
107
- #define V3_EXT_FEATURES_BX (1 << 3 | 1 << 5 | 1 << 8 )
98
+ // SSE3 SSSE3 CMPXCHNG16 SSE4.1 SSE4.2 POPCNT
99
+ #define V2_FEATURES_CX (1 << 0 | 1 << 9 | 1 << 13 | 1 << 19 | 1 << 20 | 1 << 23 )
100
+ // LAHF/SAHF
101
+ #define V2_EXT_FEATURES_CX (1 << 0 )
102
+ // FMA MOVBE OSXSAVE AVX F16C
103
+ #define V3_FEATURES_CX (V2_FEATURES_CX | 1 << 12 | 1 << 22 | 1 << 27 | 1 << 28 | 1 << 29 )
104
+ // ABM (FOR LZNCT)
105
+ #define V3_EXT_FEATURES_CX (V2_EXT_FEATURES_CX | 1 << 5 )
106
+ // BMI1 AVX2 BMI2
107
+ #define V3_EXT_FEATURES_BX (1 << 3 | 1 << 5 | 1 << 8 )
108
108
// XMM YMM
109
109
#define V3_OS_SUPPORT_AX (1 << 1 | 1 << 2 )
110
110
// AVX512F AVX512DQ AVX512CD AVX512BW AVX512VL
@@ -147,6 +147,20 @@ GLOBL bad_proc_msg<>(SB), RODATA, $78
147
147
#endif
148
148
#endif
149
149
150
+ #ifdef GOAMD64_v1
151
+ #define SKIP_GOAMD64_CHECK
152
+ #endif
153
+
154
+ #ifndef GOAMD64_v1
155
+ #ifndef GOAMD64_v2
156
+ #ifndef GOAMD64_v3
157
+ #ifndef GOAMD64_v4
158
+ #define SKIP_GOAMD64_CHECK
159
+ #endif
160
+ #endif
161
+ #endif
162
+ #endif
163
+
150
164
TEXT runtime·rt0_go(SB),NOSPLIT|TOPFRAME,$0
151
165
// copy arguments forward on an even stack
152
166
MOVQ DI, AX // argc
@@ -170,7 +184,7 @@ TEXT runtime·rt0_go(SB),NOSPLIT|TOPFRAME,$0
170
184
CPUID
171
185
MOVL AX, SI
172
186
CMPL AX, $0
173
- #ifdef GOAMD64_v1
187
+ #ifdef SKIP_GOAMD64_CHECK
174
188
JE nocpuinfo
175
189
#else
176
190
JNE has_cpuinfo
0 commit comments