[UBUNTU] GCC Wrong code generate for floating point workloads Ubuntu 18.04
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu on IBM z Systems |
Fix Released
|
High
|
Matthias Klose | ||
gcc-7 (Ubuntu) |
Fix Released
|
Undecided
|
Skipper Bug Screeners | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Cosmic |
Fix Released
|
Undecided
|
Unassigned | ||
gcc-8 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Cosmic |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
An IBM Z GCC backend problem leads to wrong code being generated for some floating point workloads.
https:/
A patch has been committed to the GCC 7 and 8 upstream branch and needs to be picked up for the Ubuntu 18.04 compiler.
https:/
This change might require rebuilding floating point related packages. Although the actual problem is hard to trigger. I could only reproduce it in case if conversion introduces load on condition instructions in the ce2 pass. The testcase I've looked into came from the python scipy package which builds with -funroll-loops. The load on condition opportunity in that case was introduced with the RTL loop unrolling. This made the split1 pass to use the problematic splitter generating wrong code in the end.
According to https:/
The patch has been picked up for gcc-8 8.2.0-18 already
tags: | added: architecture-s39064 bugnameltc-175326 severity-high targetmilestone-inin18041 |
Changed in ubuntu: | |
assignee: | nobody → Skipper Bug Screeners (skipper-screen-team) |
affects: | ubuntu → linux (Ubuntu) |
affects: | linux (Ubuntu) → gcc-8 (Ubuntu) |
affects: | gcc-8 (Ubuntu) → gcc-7 (Ubuntu) |
Changed in ubuntu-z-systems: | |
importance: | Undecided → High |
assignee: | nobody → Matthias Klose (doko) |
Changed in ubuntu-z-systems: | |
status: | New → In Progress |
tags: | added: id-5c5c535cbda80f71a56a79b1 |
tags: |
added: verification-done verification-done-bionic verification-done-cosmic removed: verification-needed verification-needed-bionic verification-needed-cosmic |
Changed in ubuntu-z-systems: | |
status: | In Progress → Fix Committed |
This bug was fixed in the package gcc-8 - 8.2.0-19ubuntu1
---------------
gcc-8 (8.2.0-19ubuntu1) disco; urgency=medium
* Merge with Debian; remaining changes:
- Build from upstream sources.
- Don't built common libraries now build from GCC 9.
gcc-8 (8.2.0-18) unstable; urgency=medium
* Update to SVN 20190207 (r268611) from the gcc-8-branch. on/88105, PR tree-optimizati on/88223, on/88030, on/87929, PR tree-optimizati on/89135, on/88903, PR c++/89158, PR c++/88983, PR c++/89119, n/89195, PR target/89186, on/88107, PR sanitizer/89124, on/88964, on/88964, PR target/88965, PR target/88905, n/49429, PR target/49454, PR rtl-optimizatio n/86334, n/88870,
- Fix PR target/88856 (S390X). Addresses: #915738. LP: #1815057.
- Fix PR target/87064 (PPC), PR c++/89083, c++/80864, PR fortran/67679,
PR tree-optimizati
PR middle-end/88448, PR middle-end/88415, PR tree-optimizati
PR tree-optimizati
PR tree-optimizati
PR c++/89024, PR c++/88988, PR middle-end/89002, PR middle-end/88968,
PR c/89211, PR target/89188, PR rtl-optimizatio
PR middle-end/87887, PR tree-optimizati
PR c++/89105, PR c++/66676, PR ipa/89104, PR middle-end/89002,
PR target/89073, PR target/87214, PR tree-optimizati
PR tree-optimizati
PR rtl-optimizatio
PR target/88906, PR target/88734, PR rtl-optimizatio
PR bootstrap/88714, PR c/88568, PR debug/88723, PR debug/88635,
PR c++/89187, PR c++/88988, PR c++/88976, PR c++/88949,
PR sanitizer/88901, PR fortran/83246, PR fortran/89084,
PR fortran/88902.
* Update the support to build without packages being built by GCC 9.
-- Matthias Klose <email address hidden> Thu, 07 Feb 2019 22:04:19 +0100