Evan Nemerson

Results 193 comments of Evan Nemerson

I hadn't really considered the possibility of using the same API for flexible vectors, but I think there are some obstacles which would make that difficult. For example, you *probably*...

I just added a lot of tests to the [tests branch of WAV](https://github.com/nemequ/wav/tree/tests) to verify that everything compiles down to exactly what we expect. Functions which don't generate the expected...

The first parameter to `__builtin_wasm_load*_lane` should be const, and `wasm_v128_load*_lane` shouldn't cast away the const. `__builtin_wasm_abs_i64x2` doesn't generate `i64x2.abs` https://godbolt.org/z/jY1hf3Pch Other than that, my biggest concern is that `__builtin_wasm_load*_lane` are...

Another one: `wasm_load32_zero` and `wasm_load64_zero` [don't generate the right instructions](https://godbolt.org/z/rcTY8jx3T>). `__builtin_wasm_load32_zero` and `__builtin_wasm_load64_zero` work, which is why I didn't catch this earlier, but wasm_simd128.h doesn't use them. Of course I'd...

LGTM. They include all the issues I've seen; your list has a few more because WAV uses the builtins directly (unless I can avoid them altogether and still get the...

Argh, one last thing, sorry: the inputs to `__builtin_wasm_narrow_u_i8x16_i16x8` and `__builtin_wasm_narrow_u_i16x8_i32x4` should be signed.

FWIW, it's pretty straightforward to add a PGI build to Travis; see https://github.com/nemequ/pgi-travis

POWER also has AES instructions, FWIW: * `vcipher` (`vec_cipher_be`) * `vcipherlast` (`vec_cipherlast_be`) * `vncipher` (`vec_ncipher_be`) * `vncipherlast` (`vec_ncipherlast_be`) * `vsbox` (`vec_sbox_be`) They were all added in POWER9 (ISA 3.0). That...

> Just to be pedantic, I don't think we should restrict this proposal to "relaxed" variants of existing SIMD instructions, assuming that that's what you were intending to say here....

FWIW I'm planning on starting to fuzz all the Squash plugins soon, so if there are issues you'll probably have test cases, too.