mirror of
https://github.com/rust-lang/rust.git
synced 2025-11-13 16:43:03 +00:00
32 lines
837 B
Markdown
32 lines
837 B
Markdown
This program emits `psllw` instead of `pslliw` instruction. `pslliw` should be
|
|
usable here since `imm8` is a constant:
|
|
|
|
```rust
|
|
extern crate stdsimd;
|
|
|
|
use std::env;
|
|
use stdsimd as s;
|
|
|
|
fn main() {
|
|
let imm8: i32 = env::args().nth(1).unwrap().parse().unwrap();
|
|
let a = s::i16x8::new(imm8 as i16, 0, 0, 0, 0, 0, 0, 0);
|
|
println!("{:?}", s::_mm_slli_epi16(a, 4));
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
LLVM types the `count` parameter in `_mm_sll_epi16` as `i16x8`, but the right
|
|
type is probably `i64x2`.
|
|
|
|
---
|
|
|
|
What is the deal with the ucomi f64 comparison functions in SSE2? Clang's
|
|
headers indicate some specific behavior with NAN, but I can't seem to reproduce
|
|
it. Intel's official docs are very vague.
|
|
|
|
---
|
|
|
|
`_mm256_blendv_pd` takes a mask parameter with type `f64x4`, but the
|
|
documentation seems to indicate that it is a bit vector. What's going on?
|