Public bug reported:
Vector shift miscompilation
---Steps to Reproduce---
t.c:
__vector int
foo (__vector int a, int s)
{
return a << (s + 3);
}
gcc -O3 -march=z13 t.c -S -mzvector
foo:
veslf %v24,%v24,0(%r2) <---- +3 is omitted
br %r14
Contact Information = [email protected]
Userspace tool common name: GCC
The userspace tool has the following bit modes: 64
Backported fix has been applied to GCC 8 branch as r273493:
https://gcc.gnu.org/viewcvs?rev=273493&root=gcc&view=rev
S/390: Fix vector shift count operand
We currently use subst definitions to handle the different variants of shift
count operands. Unfortunately, in the vector shift pattern the shift count
operand is used directly. Without it being adjusted for the 'subst' variants the
displacement value is omitted resulting in a wrong shift count being applied.
This patch needs to be applied to older branches as well.
gcc/ChangeLog:
2019-07-15 Andreas Krebbel <[email protected]>
Backport from mainline
2019-07-01 Andreas Krebbel <[email protected]>
* config/s390/vector.md: Fix shift count operand printing.
gcc/testsuite/ChangeLog:
2019-07-15 Andreas Krebbel <[email protected]>
Backport from mainline
2019-07-01 Andreas Krebbel <[email protected]>
* gcc.target/s390/vector/vec-shift-2.c: New test.
Added:
branches/gcc-8-branch/gcc/testsuite/gcc.target/s390/vector/vec-shift-2.c
Modified:
branches/gcc-8-branch/gcc/ChangeLog
branches/gcc-8-branch/gcc/config/s390/vector.md
branches/gcc-8-branch/gcc/testsuite/ChangeLog
** Affects: ubuntu-z-systems
Importance: High
Assignee: Matthias Klose (doko)
Status: Triaged
** Affects: gcc-8 (Ubuntu)
Importance: Undecided
Assignee: Skipper Bug Screeners (skipper-screen-team)
Status: New
** Tags: architecture-s39064 bugnameltc-179280 severity-high
targetmilestone-inin---
** Tags added: architecture-s39064 bugnameltc-179280 severity-high
targetmilestone-inin---
** Changed in: ubuntu
Assignee: (unassigned) => Skipper Bug Screeners (skipper-screen-team)
** Package changed: ubuntu => linux (Ubuntu)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1837522
Title:
GCC Miscompilation of vector shift
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1837522/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs