Fix tests for a future nightly (#297)
Fix tests for a future nightly (#297)

In rust-lang/rust#47743 the SIMD types in the Rust ABI are being switched to
getting passed through memory unconditionally rather than through LLVM's
immediate registers. This means that a bunch of our assert_instr invocations
started breaking as LLVM has more efficient methods of dealing with memory than
the instructions themselves.

This switches `assert_instr` to unconditionally use a shim that is an `extern`
function which should revert back to the previous behavior, using the simd types
as immediates and testing the same.
rust-lang/stdarch,rust-lang/stdarch,rust-lang/stdarch,rust-lang/stdarch,rust-lang/stdarch