Open Torinde opened 6 months ago
Many of the rest are already implemented in SIMDe. I updated the table to add the intrinsic names next to the CPU instruction mnemonic.
@Torinde Can you add the intrinsic/function name for the rest of the instructions? I'm seeing more of then as already implemented in SIMDe
Thanks for flagging these, we need to represent this status information better in our docs
Can you add the intrinsic/function name for the rest of the instructions? I'm seeing more of then as already implemented in SIMDe
How do you check?
Can you add the intrinsic/function name for the rest of the instructions? I'm seeing more of then as already implemented in SIMDe
How do you check?
Instruction:
line: https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=MASKMOVQ&ig_expand=4253 → _mm_maskmove_si64
Thanks!
Done - remaining instructions I don't find in Intel intrinsics list.
Most are implemented, only 14 "related" ones aren't.
Per https://github.com/simd-everywhere/simde/pull/1152#issuecomment-2021047051 - listing those in case some of them are not yet implemented.
non-SIMD instructions related to:
CL1INVMB
(SCC only)FXSAVE(64)
_fxsave64
FXRSTOR(64)
_fxstore64
RDPMC
_rdpmc
CMOV
cc reg,r/m 0F 4x /r Conditional move to register. The source operand may be either register or memory.NOP
NOPL
r/m NFx 0F 1F /0 Official long NOP.SYSCALL
0F 05 Fast System call.SYSRET
0F 07 Fast Return from System Call. Designed to be used together with SYSCALL.SYSENTER
0F 34 Fast System call.SYSEXIT
0F 35 Fast Return from System Call. Designed to be used together with SYSENTER.PREFETCHNTA
a.k.a_mm_prefetch
Already implemented assimde_mm_prefetch
PREFETCHT
(see above)SFENCE
_mm_sfence
Already implemented assimde_mm_sfence
LFENCE
_mm_lfence
Already implemented assimde_mm_lfence
MFENCE
_mm_mfence
Already implemented assimde_mm_mfence
MOVNTI
_mm_stream_si{32,64}
Already implemented assimde_mm_stream_si{32,64}
PAUSE
_mm_pause
Already implemented assimde_mm_pause
CLFSH
_mm_clflush
Already implemented assimde_mm_clflush
FS: Jcc
64 (70..7F) rel8, 64 0F (80..8F) rel16/32 On Intel NetBurst (Pentium 4) CPUs, the 64h (FS: segment) instruction prefix will, when used with conditional branch instructions, act as a branch hint to indicate that the branch will be alternating between taken and not-taken. Unlike other NetBurst branch hints (CS: and DS: segment prefixes), this hint is not documented. Available on NetBurst CPUs only. Segment prefixes on conditional branches are accepted but ignored by non-NetBurst CPUs.HWNT
/HST
branch hintsMONITOR
_mm_monitor
implementation-status,MWAIT
_mm_mwait
implementation-statusFISTTP
MOVBE
intrinsicsXSAVE(64)
,XRSTOR(64)
,XGETBV
,XSETBV
intrinsicsPOPCNT
_mm_popcnt_u{32,62}
and_popcnt{32,64}
implementation-status,LZCNT
_lzcnt_u{32,64}
MMX instructions introduced: