110 Commits

Author SHA1 Message Date
Mark McCaskey
ce1b1f67cf Update opt name in CompilerConfig, enable IR verification in spectests 2020-03-24 15:46:58 -07:00
losfair
29a431cfc7 Remove 4 spectest excludes that are no longer needed. 2020-03-18 01:43:05 +08:00
losfair
a9cd6d6814 Add aarch64 NaN canonicalization spectest excludes. 2020-03-18 01:16:18 +08:00
losfair
5e40be48a1 Merge remote-tracking branch 'origin/master' into feature/singlepass-nan-cncl 2020-03-18 00:43:52 +08:00
losfair
e0538d32fa Remove clif spectest excludes. 2020-03-17 13:52:42 +08:00
Mark McCaskey
382e244f18
Merge branch 'master' into freebsd 2020-03-16 12:53:10 -07:00
Nick Lewycky
29b5223b3e Canonicalize NANs produced by f.trunc and f.nearby. 2020-03-16 11:36:17 -07:00
losfair
da07ed5011 Add clif/llvm NaN spectest failure excludes. 2020-03-16 23:40:28 +08:00
losfair
5d26d92d9b Add switch to turn on/off NaN canonicalization. 2020-03-16 23:40:02 +08:00
losfair
7d2d89b606 Resolve review comments. 2020-03-10 12:28:54 +08:00
losfair
79613e42d7 Prettier format panic message in spectest. 2020-03-10 02:45:31 +08:00
MikaelUrankar
da04dab436 Add FreeBSD specific failure excludes. 2020-03-03 12:13:56 +01:00
MikaelUrankar
48fcc8af09 Recognize FreeBSD 2020-03-02 15:41:41 +01:00
losfair
f2084982d4 Make excludes more specialized. 2020-02-22 01:25:14 +08:00
losfair
3fa62461e6 Specify excludes separately for linux/macos singlepass. 2020-02-21 03:47:17 +08:00
losfair
456d2dc2a8 Match against both target OS and family. 2020-02-21 03:47:01 +08:00
losfair
c1f1a82854 Check for unused excludes. 2020-02-21 03:23:44 +08:00
losfair
b40edd4512 Fix failures on test compilation. 2020-02-11 03:03:05 +08:00
losfair
e0aafbe9dd Remove WasmTrapInfo and passExceptionCode in the generic Box<Any> container. 2020-02-06 23:49:50 +08:00
losfair
16dee04d22 Add aarch64-specific failure excludes. 2020-01-21 01:10:14 +08:00
losfair
35870b33e5 Update spectests to test singlepass traps. 2020-01-16 02:59:27 +08:00
Nick Lewycky
6fe2f434c6 Add tests for non-trapping float to int conversions.
This breaks all of conversions.wast on singlepass. LLVM and Cranelift pass.
2019-12-20 16:20:58 -08:00
Nick Lewycky
7162906297 Initial commit of AArch64 support for the llvm backend. 2019-12-06 17:23:39 -08:00
Syrus
0834ccf661 Merge branch 'master' into feature/singlepass-aarch64
# Conflicts:
#	Makefile
2019-11-21 20:10:09 -08:00
Syrus
c3f93f1275 Fixed formatting 2019-11-21 13:38:22 -08:00
Syrus
aeb66ee48e Simplify compiler test options 2019-11-21 13:36:44 -08:00
Syrus
b8aee87d6e Skip atomic tests for now in singlepass Aarch64 2019-11-20 19:11:33 -08:00
Brandon Fish
bd58842041 Refactor excludes and add target_arch option 2019-11-19 23:38:50 -06:00
Mark McCaskey
7631aee4f4 Add sign extension spec tests; add sign extension to singlepass 2019-11-15 21:54:34 -08:00
bors[bot]
77527c23ce
Merge #877
877: Reimplement F32Min, F32Max, F64Min and F64Max. r=nlewycky a=nlewycky

# Description
Reimplement F32Min, F32Max, F64Min and F64Max.

Adds XMM8--15 registers. Adds VMOVA, VBLEND and VXORP, and the VCMPUNORD and VCMPORD comparisons.

Fixes 419 test failures.

Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-10-22 17:33:44 +00:00
Nick Lewycky
fbe2701a93 I meant 'skip' not 'fail'. 2019-10-17 19:23:36 -07:00
Nick Lewycky
675399909a Skip this test on windows + cranelift. It crashes the whole spectest runner.
This exclusion is no worse than before where this test was silently ignored.
2019-10-17 18:38:11 -07:00
Nick Lewycky
87d272e31e Initial implementation of AssertUninstantiable. Fixes linking.wast:387. 2019-10-17 18:37:49 -07:00
Nick Lewycky
c0acd5be11 Show the full hex value of a float that fails assert returns arithmetic nan or assert returns canonical nan. 2019-10-17 12:20:34 -07:00
Nick Lewycky
5ee311adab These were both calling i32.clz. They should be fixed. 2019-10-15 14:10:26 -07:00
Nick Lewycky
99f7499a05 Reimplement I32Ctz, I64Clz and I64Ctz without LZCNT or TZCNT. 2019-10-15 13:42:05 -07:00
Nick Lewycky
3e854c4a3b Remove the exclusions for I32Clz. 2019-10-15 13:21:07 -07:00
Nick Lewycky
feeb9cd8f9 These tests failed on mac on bors. Put them back. 2019-10-14 15:02:51 -07:00
Nick Lewycky
26a4f073f0 Implement F64Min and F64Max. 2019-10-14 14:15:18 -07:00
Nick Lewycky
06ffb00deb Reimplement F32Max. 2019-10-14 14:07:30 -07:00
Nick Lewycky
4b89e01806 Remove commented-out code that I added so as to not lose its history in git. Apply trivial cleanups and reformat.
Remove expected test failure entries that are fixed so far.
2019-10-14 13:46:55 -07:00
Nick Lewycky
555d933057 Initial commit, reimplementation of F32Min. Fixes F32Min(negative_zero, zero) issue.
Also removes some previously-fixed i32 and i64 exclusions from the tests.
2019-10-14 13:46:55 -07:00
bors[bot]
2695093a03
Merge #863
863: Rewrite Min/Max to handle all cases correctly. Fixes 545 spectest failures. r=nlewycky a=nlewycky

# Description
The llvm backend was not quite following the Wasm spec for {F32,F64,F32x4xF64x2}{Min,Max}. We used the `@llvm.minnum` and `@llvm.maxnum` intrinsics which don't handle the corner cases the same. When we tried to use `@llvm.minimum` and `@llvm.maximum` which do, we get an internal error from the x86 backend. I was hoping that crash would go away with the upgrade to LLVM 9, but it does not.

Reimplement these operations using plain LLVM instructions.

# Review

- [x] Add a short description of the the change to the CHANGELOG.md file


Co-authored-by: Nick Lewycky <nick@wasmer.io>
2019-10-09 22:24:07 +00:00
Nick Lewycky
158db4cee1 Remove exclusions for tests that appear to be passing right now. 2019-10-07 15:11:45 -07:00
Nick Lewycky
1a7f00f0af Rewrite Min/Max to handle all cases correctly.
Fixes 545 spectest failures.
2019-10-03 18:19:12 -07:00
Nick Lewycky
ba68cfc2c6 Finish atomic operations for singlepass, excluding wait and notify. 2019-10-02 16:31:11 -07:00
Patrick Ventuzelo
ac321846e3
Merge branch 'master' into ventuzelo/fix-653-panic-memorydescriptor 2019-09-24 09:10:45 +02:00
Mark McCaskey
c4818f12dc Update spectests to work with new Instance; use Arc<Mutex<>> 2019-09-23 13:43:01 -07:00
Patrick Ventuzelo
7deed3160b cargo fmt 2019-09-20 18:59:36 +02:00
Patrick Ventuzelo
ca409f78c5 fix spectest 2019-09-20 18:54:05 +02:00