| Summary: | s390x: Overhaul BFP testsuite | ||
|---|---|---|---|
| Product: | [Developer tools] valgrind | Reporter: | Florian Krohm <flo2030> |
| Component: | general | Assignee: | Florian Krohm <flo2030> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed In: | ||
| Sentry Crash Report: | |||
|
Description
Florian Krohm
2025-09-16 22:15:51 UTC
A related bugs is https://bugs.kde.org/show_bug.cgi?id=306098 Some more obervations in no particular order:
We need sizeof(long double) == 128 to be able to test 128-bit BFP
The GCC I'm using (11.4.0) says:
'-mlong-double-64'
'-mlong-double-128'
These switches control the size of 'long double' type. A size of
64 bits makes the 'long double' type equivalent to the 'double'
type. This is the default.
So we need to add -mlong-double-128 when compiling because we cannot assume that GCC has been
configured --with-long-double-128. if HAS_MLONG_DOUBLE_128 ...
----------
For some insns the behaviour depends on whether or not the floating-point extension is
installed. That is a royal pain to distinguish. I am going to make all testcases assume that
it is installed.
---------
Another thing.. We ought to check for correct computation of condition codes. Those get
computed from the cc thunk in the guest state. Affected insns are:
- ADD
- COMPARE
- COMPARE AND SIGNAL
- CONVERT TO FIXED
- CONVERT TO LOGICAL
- DIVIDE TO INTEGER
- LOAD AND TEST
- LOAD COMPLEMENT
- LOAD NEGATIVE
- LOAD POSITIVE
- SUBTRACT
- TEST DATA CLASS
Now fixed. 9a1dbff3812a71ea556b9d80056a11ca8ff88023 78f1569e2235796256742d7c75763034677065af b1f875b63d6a07115dfba571c6dcc1f280c0b1f4 2c79953bd75b4c9bb36a4ff4ccfa3675e1aa7e36 7d9005f4912fa02eb48dcf578f40c035d8cc851b 73ece460ef7e891b404576fd7cc8bd92f4f753ed 6190acedb1d5f1e8a3365e8affcf8ce5c0beac0f 69e67dadf5572b5e6521da2b87633d503f1d597b ce0b91e1e49af679c1cbd51d88b5a95df7fc3c29 d8cf0a84b26ff1ed1b5a9560bfbe5bf476f10c3a 18c5454874d9193fb422832523925406f1d32b80 c574f5eb10d06b491512806354f8d15c3d3e020a 1109ef57b23cf84be551cb9d25373a8169bedce4 |