I know this isn't Rust, but if anyone needs a more readable explanation of what the SIMD opcodes actually mean (i.e. more readable than intel manual) then check out the cosmopolitan codebase. I implemented all of them in ANSI C and called it ANSITRINSICS just so I didn't have to use Intel's ugly intrinsics API and wouldn't have to feel guilty about muh portability. It's well-tested and fuzzed against the real thing, so I hope it can serve as excellent documentation to anyone who wants to understand the great mystery of vector instructions: https://github.com/jart/cosmopolitan/tree/master/libc/intrin
A good example is PUNPCKLBW which is such an important instruction but a name like that is very intimidating to someone who hasn't rote memorized its meaning. I think ANSI C does a much better job explaining what these instructions do than the pictures in the Intel manual do. https://github.com/jart/cosmopolitan/blob/48645651983ca46a31... Particularly when it comes to ones like PMADDUBSW which is without a doubt the greatest of the SSE instructions. https://github.com/jart/cosmopolitan/blob/48645651983ca46a31...
In many cases if you compile these ansitrinsics with -ftree-vectorize you'll notice that the compiler recognizes the ANSI C code boilerplate and compiles it down into the underlying simd instruction! I think GCC and Clang should be hard coded to recognize all of them. That way we can write truly portable code that's fast too.