CL/aarch64: implement the wasm SIMD i32x4.dot_i16x8_s instruction
This patch implements, for aarch64, the following wasm SIMD extensions i32x4.dot_i16x8_s instruction https://github.com/WebAssembly/simd/pull/127 It also updates dependencies as follows, in order that the new instruction can be parsed, decoded, etc: wat to 1.0.27 wast to 26.0.1 wasmparser to 0.65.0 wasmprinter to 0.2.12 The changes are straightforward: * new CLIF instruction `widening_pairwise_dot_product_s` * translation from wasm into `widening_pairwise_dot_product_s` * new AArch64 instructions `smull`, `smull2` (part of the `VecRRR` group) * translation from `widening_pairwise_dot_product_s` to `smull ; smull2 ; addv` There is no testcase in this commit, because that is a separate repo. The implementation has been tested, nevertheless.
This commit is contained in:
committed by
julian-seward1
parent
54a97f784e
commit
5a5fb11979
52
Cargo.lock
generated
52
Cargo.lock
generated
@@ -349,7 +349,7 @@ dependencies = [
|
||||
"souper-ir",
|
||||
"target-lexicon",
|
||||
"thiserror",
|
||||
"wast 25.0.0",
|
||||
"wast 26.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -549,7 +549,7 @@ dependencies = [
|
||||
"smallvec",
|
||||
"target-lexicon",
|
||||
"thiserror",
|
||||
"wasmparser 0.63.0",
|
||||
"wasmparser 0.65.0",
|
||||
"wat",
|
||||
]
|
||||
|
||||
@@ -1062,7 +1062,7 @@ dependencies = [
|
||||
"staticvec",
|
||||
"thiserror",
|
||||
"typemap",
|
||||
"wasmparser 0.63.0",
|
||||
"wasmparser 0.65.0",
|
||||
"wat",
|
||||
]
|
||||
|
||||
@@ -1233,7 +1233,7 @@ dependencies = [
|
||||
"peepmatic-test-operator",
|
||||
"peepmatic-traits",
|
||||
"serde",
|
||||
"wast 25.0.0",
|
||||
"wast 26.0.1",
|
||||
"z3",
|
||||
]
|
||||
|
||||
@@ -1261,7 +1261,7 @@ dependencies = [
|
||||
"peepmatic-traits",
|
||||
"rand 0.7.3",
|
||||
"serde",
|
||||
"wast 25.0.0",
|
||||
"wast 26.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1286,7 +1286,7 @@ dependencies = [
|
||||
"serde",
|
||||
"serde_test",
|
||||
"thiserror",
|
||||
"wast 25.0.0",
|
||||
"wast 26.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1298,7 +1298,7 @@ dependencies = [
|
||||
"peepmatic",
|
||||
"peepmatic-test-operator",
|
||||
"souper-ir",
|
||||
"wast 25.0.0",
|
||||
"wast 26.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1319,7 +1319,7 @@ version = "0.67.0"
|
||||
dependencies = [
|
||||
"peepmatic-traits",
|
||||
"serde",
|
||||
"wast 25.0.0",
|
||||
"wast 26.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2290,18 +2290,18 @@ checksum = "32fddd575d477c6e9702484139cf9f23dcd554b06d185ed0f56c857dd3a47aa6"
|
||||
|
||||
[[package]]
|
||||
name = "wasmparser"
|
||||
version = "0.63.0"
|
||||
version = "0.65.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "57da5d7300428d75d8b3cdfb736e41ee6af8926d69c1de2f201a1a22f234b7b5"
|
||||
checksum = "87cc2fe6350834b4e528ba0901e7aa405d78b89dc1fa3145359eb4de0e323fcf"
|
||||
|
||||
[[package]]
|
||||
name = "wasmprinter"
|
||||
version = "0.2.10"
|
||||
version = "0.2.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fd1fea2e86fb107de33db6538db99f73e8d058f6fda2bbd8cceafff847dd9266"
|
||||
checksum = "0fe87e79ad307dc73cb7caca2b57d049d2905c7db1317a9c21171e69aa9f93d3"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"wasmparser 0.63.0",
|
||||
"wasmparser 0.65.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2321,7 +2321,7 @@ dependencies = [
|
||||
"smallvec",
|
||||
"target-lexicon",
|
||||
"tempfile",
|
||||
"wasmparser 0.63.0",
|
||||
"wasmparser 0.65.0",
|
||||
"wasmtime-cache",
|
||||
"wasmtime-environ",
|
||||
"wasmtime-jit",
|
||||
@@ -2399,7 +2399,7 @@ dependencies = [
|
||||
"test-programs",
|
||||
"tracing-subscriber",
|
||||
"wasi-common",
|
||||
"wasmparser 0.63.0",
|
||||
"wasmparser 0.65.0",
|
||||
"wasmtime",
|
||||
"wasmtime-cache",
|
||||
"wasmtime-debug",
|
||||
@@ -2434,7 +2434,7 @@ dependencies = [
|
||||
"object 0.21.1",
|
||||
"target-lexicon",
|
||||
"thiserror",
|
||||
"wasmparser 0.63.0",
|
||||
"wasmparser 0.65.0",
|
||||
"wasmtime-environ",
|
||||
]
|
||||
|
||||
@@ -2453,7 +2453,7 @@ dependencies = [
|
||||
"more-asserts",
|
||||
"serde",
|
||||
"thiserror",
|
||||
"wasmparser 0.63.0",
|
||||
"wasmparser 0.65.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2481,7 +2481,7 @@ dependencies = [
|
||||
"log",
|
||||
"rayon",
|
||||
"wasm-smith",
|
||||
"wasmparser 0.63.0",
|
||||
"wasmparser 0.65.0",
|
||||
"wasmprinter",
|
||||
"wasmtime",
|
||||
"wasmtime-wast",
|
||||
@@ -2508,7 +2508,7 @@ dependencies = [
|
||||
"serde",
|
||||
"target-lexicon",
|
||||
"thiserror",
|
||||
"wasmparser 0.63.0",
|
||||
"wasmparser 0.65.0",
|
||||
"wasmtime-cranelift",
|
||||
"wasmtime-debug",
|
||||
"wasmtime-environ",
|
||||
@@ -2525,7 +2525,7 @@ version = "0.20.0"
|
||||
dependencies = [
|
||||
"cranelift-codegen",
|
||||
"lightbeam",
|
||||
"wasmparser 0.63.0",
|
||||
"wasmparser 0.65.0",
|
||||
"wasmtime-environ",
|
||||
]
|
||||
|
||||
@@ -2617,7 +2617,7 @@ version = "0.20.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"wasmtime",
|
||||
"wast 25.0.0",
|
||||
"wast 26.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2652,20 +2652,20 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wast"
|
||||
version = "25.0.0"
|
||||
version = "26.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d8c67a4386e4efe10563552848d8c6a4b7f941e69924a935495645c3f52b32d0"
|
||||
checksum = "b3f174eed73e885ede6c8fcc3fbea8c3757afa521840676496cde56bb742ddab"
|
||||
dependencies = [
|
||||
"leb128",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wat"
|
||||
version = "1.0.26"
|
||||
version = "1.0.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4766d466249e23279e92c52033429eb91141c5efea1c4478138fa6f6ef4efe3e"
|
||||
checksum = "26b2dccbce4d0e14875091846e110a2369267b18ddd0d6423479b88dad914d71"
|
||||
dependencies = [
|
||||
"wast 25.0.0",
|
||||
"wast 26.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
||||
Reference in New Issue
Block a user