Lokathor/safe_arch

Stable Intrinsics Todo

Closed this issue · 12 comments

This is the "1.0 goals list".

Before 1.0, everything on this list should either be added to the crate or examined and determined to be "post-1.0".

  • If support for a feature is added to the crate (one module per feature), then we delete it from this list. There's too much stuff to keep everything in the list and just check off boxes.
  • If a feature is examined and determined to be something we shouldn't support until post-1.0 (for some reason) then we'll break that off and make a separate issue for those items. In this case, those items would also be deleted from the list here.
  • So once we're all done, the list will be empty.

This list was made with a little bit of regex being applied to the x86_64 list of what's stable in Rust 1.43.0 (2020-05-06).


. __cpuid
. __cpuid_count
. __get_cpuid_max

My computer doesn't seem to have sse4a, so we have to skip those. Someone can PR it if they care.

Ditto sha

Ditto tbm

xsave stuff messes with CPU state, which LLVM isn't ever happy about, skipping.

fxsr is floating extension save / restore, and it's for that goofy 87 bit fpu thing. also skipping.

avx complete

avx2 was given its own issue, #43

fma given its own issue #47

addcarry removed because that's part of adx and the rust docs are wrong (filed rust-lang/rust#72238)

subborrow too

mmpause we won't do since you can do that portably in core

#12 covers the cpuid stuff so we're all set to close this issue.