Skip to content
Snippets Groups Projects
Commit 87476b4c authored by Henrik Gramner's avatar Henrik Gramner
Browse files

x86inc: Add a cpu flag for the Ice Lake AVX-512 subset

parent a6b56179
No related branches found
No related tags found
No related merge requests found
......@@ -877,34 +877,35 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, jge, jng, jnge, ja, jae,
; cpuflags
%assign cpuflags_mmx (1<<0)
%assign cpuflags_mmx2 (1<<1) | cpuflags_mmx
%assign cpuflags_3dnow (1<<2) | cpuflags_mmx
%assign cpuflags_3dnowext (1<<3) | cpuflags_3dnow
%assign cpuflags_sse (1<<4) | cpuflags_mmx2
%assign cpuflags_sse2 (1<<5) | cpuflags_sse
%assign cpuflags_sse2slow (1<<6) | cpuflags_sse2
%assign cpuflags_lzcnt (1<<7) | cpuflags_sse2
%assign cpuflags_sse3 (1<<8) | cpuflags_sse2
%assign cpuflags_ssse3 (1<<9) | cpuflags_sse3
%assign cpuflags_sse4 (1<<10)| cpuflags_ssse3
%assign cpuflags_sse42 (1<<11)| cpuflags_sse4
%assign cpuflags_aesni (1<<12)| cpuflags_sse42
%assign cpuflags_clmul (1<<13)| cpuflags_sse42
%assign cpuflags_gfni (1<<14)| cpuflags_aesni|cpuflags_clmul
%assign cpuflags_avx (1<<15)| cpuflags_sse42
%assign cpuflags_xop (1<<16)| cpuflags_avx
%assign cpuflags_fma4 (1<<17)| cpuflags_avx
%assign cpuflags_fma3 (1<<18)| cpuflags_avx
%assign cpuflags_bmi1 (1<<19)| cpuflags_avx|cpuflags_lzcnt
%assign cpuflags_bmi2 (1<<20)| cpuflags_bmi1
%assign cpuflags_avx2 (1<<21)| cpuflags_fma3|cpuflags_bmi2
%assign cpuflags_avx512 (1<<22)| cpuflags_avx2 ; F, CD, BW, DQ, VL
%assign cpuflags_cache32 (1<<23)
%assign cpuflags_cache64 (1<<24)
%assign cpuflags_aligned (1<<25) ; not a cpu feature, but a function variant
%assign cpuflags_atom (1<<26)
%assign cpuflags_mmx (1<<0)
%assign cpuflags_mmx2 (1<<1) | cpuflags_mmx
%assign cpuflags_3dnow (1<<2) | cpuflags_mmx
%assign cpuflags_3dnowext (1<<3) | cpuflags_3dnow
%assign cpuflags_sse (1<<4) | cpuflags_mmx2
%assign cpuflags_sse2 (1<<5) | cpuflags_sse
%assign cpuflags_sse2slow (1<<6) | cpuflags_sse2
%assign cpuflags_lzcnt (1<<7) | cpuflags_sse2
%assign cpuflags_sse3 (1<<8) | cpuflags_sse2
%assign cpuflags_ssse3 (1<<9) | cpuflags_sse3
%assign cpuflags_sse4 (1<<10) | cpuflags_ssse3
%assign cpuflags_sse42 (1<<11) | cpuflags_sse4
%assign cpuflags_aesni (1<<12) | cpuflags_sse42
%assign cpuflags_clmul (1<<13) | cpuflags_sse42
%assign cpuflags_gfni (1<<14) | cpuflags_aesni|cpuflags_clmul
%assign cpuflags_avx (1<<15) | cpuflags_sse42
%assign cpuflags_xop (1<<16) | cpuflags_avx
%assign cpuflags_fma4 (1<<17) | cpuflags_avx
%assign cpuflags_fma3 (1<<18) | cpuflags_avx
%assign cpuflags_bmi1 (1<<19) | cpuflags_avx|cpuflags_lzcnt
%assign cpuflags_bmi2 (1<<20) | cpuflags_bmi1
%assign cpuflags_avx2 (1<<21) | cpuflags_fma3|cpuflags_bmi2
%assign cpuflags_avx512 (1<<22) | cpuflags_avx2 ; F, CD, BW, DQ, VL
%assign cpuflags_avx512icl (1<<23) | cpuflags_avx512|cpuflags_gfni ; VNNI, IFMA, VBMI, VBMI2, VPOPCNTDQ, BITALG, VAES, VPCLMULQDQ
%assign cpuflags_cache32 (1<<24)
%assign cpuflags_cache64 (1<<25)
%assign cpuflags_aligned (1<<26) ; not a cpu feature, but a function variant
%assign cpuflags_atom (1<<27)
; Returns a boolean value expressing whether or not the specified cpuflag is enabled.
%define cpuflag(x) (((((cpuflags & (cpuflags_ %+ x)) ^ (cpuflags_ %+ x)) - 1) >> 31) & 1)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment