abrown opened PR #1637 from load-extend-complex
to master
:
@peterhuene discovered in #1186 that the SIMD spec tests failed when enabling Cranelift's optimizations. After looking into this, the issue was in the
optimize_complex_addresses
, an optimization function that replaces aniadd + load*
with a singleload_complex
instruction. Since the SIMD load-extend instructions did not have complex encodings, the function would panic. This PR adds the necessary Cranelift instructions and x86 encodings to avoid this failure and re-enable optimizations for the SIMD spec tests.@julian-seward1, @bnjbvr, @jlb6740: hopefully the new backend can somehow avoid the duplication involved with the Cranelift IR: every load-extend instruction is repeated over the load size (e.g. 8, 16, ..., 8x8, 16x4, ...) and is duplicated for its complex version (e.g. load8x8 and load8x8_complex).
abrown updated PR #1637 from load-extend-complex
to master
:
@peterhuene discovered in #1186 that the SIMD spec tests failed when enabling Cranelift's optimizations. After looking into this, the issue was in the
optimize_complex_addresses
, an optimization function that replaces aniadd + load*
with a singleload_complex
instruction. Since the SIMD load-extend instructions did not have complex encodings, the function would panic. This PR adds the necessary Cranelift instructions and x86 encodings to avoid this failure and re-enable optimizations for the SIMD spec tests.@julian-seward1, @bnjbvr, @jlb6740: hopefully the new backend can somehow avoid the duplication involved with the Cranelift IR: every load-extend instruction is repeated over the load size (e.g. 8, 16, ..., 8x8, 16x4, ...) and is duplicated for its complex version (e.g. load8x8 and load8x8_complex).
abrown updated PR #1637 from load-extend-complex
to master
:
@peterhuene discovered in #1186 that the SIMD spec tests failed when enabling Cranelift's optimizations. After looking into this, the issue was in the
optimize_complex_addresses
, an optimization function that replaces aniadd + load*
with a singleload_complex
instruction. Since the SIMD load-extend instructions did not have complex encodings, the function would panic. This PR adds the necessary Cranelift instructions and x86 encodings to avoid this failure and re-enable optimizations for the SIMD spec tests.@julian-seward1, @bnjbvr, @jlb6740: hopefully the new backend can somehow avoid the duplication involved with the Cranelift IR: every load-extend instruction is repeated over the load size (e.g. 8, 16, ..., 8x8, 16x4, ...) and is duplicated for its complex version (e.g. load8x8 and load8x8_complex).
peterhuene submitted PR Review.
sunfishcode submitted PR Review.
abrown merged PR #1637.
Last updated: Dec 23 2024 at 12:05 UTC