[Bug 1856682] [NEW] GCC Miscompilation in vectorized code

Launchpad Bug Tracker 1856682 at bugs.launchpad.net
Tue Dec 17 11:00:31 UTC 2019


You have been subscribed to a public bug:

Miscompilation in autovectorized code.
 
---Steps to Reproduce---
 See GCC BZ: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92950

The following testcase abort when being compiled with -O3 -march=z13 on
IBM Z:

struct a {
  int b;
  char c;
};
struct a d = {1, 16};
struct a *e = &d;

int f = 0;

int main() {
  struct a g = {0, 0 };
  f = 0;

  for (; f <= 1; f++) {
    g = d;
    *e = g;
  }

  if (d.c != 16)
    __builtin_abort();
}

The movv1qi pattern emits halfword load instructions instead of character
loads.

All GCC versions since GCC 5 are affected.
Patches for GCC 8, 9, and 10 have been committed to the gcc.gnu.org branches.
 
Userspace tool common name: gcc  
The userspace tool has the following bit modes: 64 
Userspace rpm: various Ubuntu gcc packages


Package need to updated within LP

** Affects: gcc-defaults (Ubuntu)
     Importance: Undecided
     Assignee: Skipper Bug Screeners (skipper-screen-team)
         Status: New


** Tags: architecture-s39064 bugnameltc-182958 severity-high targetmilestone-inin2004
-- 
GCC Miscompilation in vectorized code
https://bugs.launchpad.net/bugs/1856682
You received this bug notification because you are a member of Ubuntu Foundations Bugs, which is subscribed to gcc-defaults in Ubuntu.



More information about the foundations-bugs mailing list