cranelift: Merge all run tests into runtests dir#2964
Conversation
cc @uweigand |
|
On s390x, we currently do not support any SIMD or i128 operations, so all the simd-* and i128-* tests need to be commented out for now. Also, the const.clif test case exposes a pre-existing endian bug with handling bool test case return values: those are written as integers of the same width by the trampoline, but are always read out as the Rust "bool" type. This happens to work on little-endian systems, but fails for any boolean type larger than 1 byte on big-endian systems. I was able to fix this using the following patch: |
With this change we now reuse tests across multiple arches. Duplicate tests were merged into the same file where possible. Some legacy x86 tests were left in separate files due to incompatibilities with the rest of the test suite.
Enabling runtests for the s390x backend exposed a pre-existing endian bug with handling bool test case return values. These are written as integers of the same width by the trampoline, but are always read out as the Rust "bool" type. This happens to work on little-endian systems, but fails for any boolean type larger than 1 byte on big-endian systems. See: bytecodealliance#2964 (comment)
|
@uweigand Thank you for taking a look at this! I've disabled simd & i128 tests, and applied your patch. |
cfallin
left a comment
There was a problem hiding this comment.
Sorry for the delay in reviewing this! LGTM.
The CI failure appears to be a flaky WASI test; I'll respawn.
With this change we now reuse tests across multiple arches.
Duplicate tests were merged into the same file where possible.
Some legacy x86 tests were left in separate files due to incompatibilities with the rest of the test suite.
We need someone with access to a s390x machine to check which ones of these should be commented out.