This program emits `psllw` instead of `pslliw` instruction. `pslliw` should be
usable here since `imm8` is a constant:

```rust
extern crate stdarch;

use std::env;
use stdarch 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?
