Update spec tests (#2690)

* Update wasm-tools crates

* Update Wasm SIMD spec tests

* Invert 'experimental_x64_should_panic' logic

By doing this, it is easier to see which spec tests currently panic. The new tests correspond to recently-added instructions.

* Fix: ignore new spec tests for all backends
This commit is contained in:
Andrew Brown
2021-03-01 14:39:20 -08:00
committed by GitHub
parent 689a196c77
commit 44e76fe9c0
24 changed files with 100 additions and 95 deletions

View File

@@ -33,7 +33,7 @@ filecheck = "0.5.0"
log = "0.4.8"
termcolor = "1.1.2"
capstone = { version = "0.7.0", optional = true }
wat = { version = "1.0.18", optional = true }
wat = { version = "1.0.36", optional = true }
target-lexicon = { version = "0.11", features = ["std"] }
peepmatic-souper = { path = "./peepmatic/crates/souper", version = "0.70.0", optional = true }
pretty_env_logger = "0.4.0"

View File

@@ -30,7 +30,7 @@ peepmatic-traits = { path = "../peepmatic/crates/traits", optional = true, versi
peepmatic-runtime = { path = "../peepmatic/crates/runtime", optional = true, version = "0.70.0" }
regalloc = { version = "0.0.31" }
souper-ir = { version = "2.1.0", optional = true }
wast = { version = "34.0.0", optional = true }
wast = { version = "35.0.0", optional = true }
# It is a goal of the cranelift-codegen crate to have minimal external dependencies.
# Please don't add any unless they are essential to the task of creating binary
# machine code. Integration tests that need external dependencies can be

View File

@@ -15,7 +15,7 @@ peepmatic-macro = { version = "0.70.0", path = "crates/macro" }
peepmatic-runtime = { version = "0.70.0", path = "crates/runtime", features = ["construct"] }
peepmatic-traits = { version = "0.70.0", path = "crates/traits" }
serde = { version = "1.0.105", features = ["derive"] }
wast = "34.0.0"
wast = "35.0.0"
z3 = { version = "0.7.1", features = ["static-link-z3"] }
[dev-dependencies]

View File

@@ -21,4 +21,4 @@ peepmatic-test-operator = { path = "../test-operator" }
peepmatic-traits = { path = "../traits" }
rand = { version = "0.8.3", features = ["small_rng"] }
serde = "1.0.106"
wast = "34.0.0"
wast = "35.0.0"

View File

@@ -16,7 +16,7 @@ peepmatic-automata = { version = "0.70.0", path = "../automata", features = ["se
peepmatic-traits = { version = "0.70.0", path = "../traits" }
serde = { version = "1.0.105", features = ["derive"] }
thiserror = "1.0.15"
wast = { version = "34.0.0", optional = true }
wast = { version = "35.0.0", optional = true }
[dev-dependencies]
peepmatic-test-operator = { version = "0.70.0", path = "../test-operator" }

View File

@@ -16,4 +16,4 @@ log = "0.4.8"
[dev-dependencies]
peepmatic = { path = "../..", version = "0.70.0" }
peepmatic-test-operator = { version = "0.70.0", path = "../test-operator" }
wast = "34.0.0"
wast = "35.0.0"

View File

@@ -11,4 +11,4 @@ edition = "2018"
[dependencies]
peepmatic-traits = { version = "0.70.0", path = "../traits" }
serde = { version = "1.0.105", features = ["derive"] }
wast = "34.0.0"
wast = "35.0.0"

View File

@@ -12,7 +12,7 @@ keywords = ["webassembly", "wasm"]
edition = "2018"
[dependencies]
wasmparser = { version = "0.75", default-features = false }
wasmparser = { version = "0.76", default-features = false }
cranelift-codegen = { path = "../codegen", version = "0.70.0", default-features = false }
cranelift-entity = { path = "../entity", version = "0.70.0" }
cranelift-frontend = { path = "../frontend", version = "0.70.0", default-features = false }
@@ -24,7 +24,7 @@ smallvec = "1.6.1"
thiserror = "1.0.4"
[dev-dependencies]
wat = "1.0.23"
wat = "1.0.36"
target-lexicon = "0.11"
# Enable the riscv feature for cranelift-codegen, as some tests require it
cranelift-codegen = { path = "../codegen", version = "0.70.0", default-features = false, features = ["riscv"] }

View File

@@ -1769,35 +1769,35 @@ pub fn translate_operator<FE: FuncEnvironment + ?Sized>(
let (a, b) = pop2_with_bitcast(state, I32X4, builder);
state.push1(builder.ins().unarrow(a, b))
}
Operator::I16x8WidenLowI8x16S => {
Operator::I16x8ExtendLowI8x16S => {
let a = pop1_with_bitcast(state, I8X16, builder);
state.push1(builder.ins().swiden_low(a))
}
Operator::I16x8WidenHighI8x16S => {
Operator::I16x8ExtendHighI8x16S => {
let a = pop1_with_bitcast(state, I8X16, builder);
state.push1(builder.ins().swiden_high(a))
}
Operator::I16x8WidenLowI8x16U => {
Operator::I16x8ExtendLowI8x16U => {
let a = pop1_with_bitcast(state, I8X16, builder);
state.push1(builder.ins().uwiden_low(a))
}
Operator::I16x8WidenHighI8x16U => {
Operator::I16x8ExtendHighI8x16U => {
let a = pop1_with_bitcast(state, I8X16, builder);
state.push1(builder.ins().uwiden_high(a))
}
Operator::I32x4WidenLowI16x8S => {
Operator::I32x4ExtendLowI16x8S => {
let a = pop1_with_bitcast(state, I16X8, builder);
state.push1(builder.ins().swiden_low(a))
}
Operator::I32x4WidenHighI16x8S => {
Operator::I32x4ExtendHighI16x8S => {
let a = pop1_with_bitcast(state, I16X8, builder);
state.push1(builder.ins().swiden_high(a))
}
Operator::I32x4WidenLowI16x8U => {
Operator::I32x4ExtendLowI16x8U => {
let a = pop1_with_bitcast(state, I16X8, builder);
state.push1(builder.ins().uwiden_low(a))
}
Operator::I32x4WidenHighI16x8U => {
Operator::I32x4ExtendHighI16x8U => {
let a = pop1_with_bitcast(state, I16X8, builder);
state.push1(builder.ins().uwiden_high(a))
}
@@ -1827,10 +1827,10 @@ pub fn translate_operator<FE: FuncEnvironment + ?Sized>(
state.push1(builder.ins().widening_pairwise_dot_product_s(a, b));
}
Operator::I64x2Bitmask
| Operator::I64x2WidenLowI32x4S
| Operator::I64x2WidenHighI32x4S
| Operator::I64x2WidenLowI32x4U
| Operator::I64x2WidenHighI32x4U
| Operator::I64x2ExtendLowI32x4S
| Operator::I64x2ExtendHighI32x4S
| Operator::I64x2ExtendLowI32x4U
| Operator::I64x2ExtendHighI32x4U
| Operator::V128Load8Lane { .. }
| Operator::V128Load16Lane { .. }
| Operator::V128Load32Lane { .. }