pairwise-x64-ion-codegen.js (1171B)
1 // |jit-test| skip-if: !wasmSimdEnabled() || !hasDisassembler() || wasmCompileMode() != "ion" || !getBuildConfiguration("x64") || getBuildConfiguration("simulator"); include:codegen-x64-test.js 2 3 // Tests for SIMD add pairwise instructions. 4 5 if (!isAvxPresent()) { 6 7 codegenTestX64_IGNOREDxv128_v128( 8 [['i16x8.extadd_pairwise_i8x16_s', ` 9 movdqax ${RIPR}, %xmm0 10 pmaddubsw %xmm1, %xmm0`], 11 ['i16x8.extadd_pairwise_i8x16_u', ` 12 movdqa %xmm1, %xmm0 13 pmaddubswx ${RIPR}, %xmm0`], 14 ['i32x4.extadd_pairwise_i16x8_s', ` 15 movdqa %xmm1, %xmm0 16 pmaddwdx ${RIPR}, %xmm0`], 17 ['i32x4.extadd_pairwise_i16x8_u', ` 18 movdqa %xmm1, %xmm0 19 pxorx ${RIPR}, %xmm0 20 pmaddwdx ${RIPR}, %xmm0 21 padddx ${RIPR}, %xmm0`]]); 22 23 } else { 24 25 codegenTestX64_IGNOREDxv128_v128( 26 [['i16x8.extadd_pairwise_i8x16_s', ` 27 movdqax ${RIPR}, %xmm0 28 pmaddubsw %xmm1, %xmm0`], 29 ['i16x8.extadd_pairwise_i8x16_u', ` 30 vpmaddubswx ${RIPR}, %xmm1, %xmm0`], 31 ['i32x4.extadd_pairwise_i16x8_s', ` 32 vpmaddwdx ${RIPR}, %xmm1, %xmm0`], 33 ['i32x4.extadd_pairwise_i16x8_u', ` 34 vpxorx ${RIPR}, %xmm1, %xmm0 35 pmaddwdx ${RIPR}, %xmm0 36 padddx ${RIPR}, %xmm0`]]); 37 38 }