Public bug reported:

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: linux (Ubuntu)
     Importance: Undecided
     Assignee: Skipper Bug Screeners (skipper-screen-team)
         Status: New


** Tags: architecture-s39064 bugnameltc-182958 severity-high 
targetmilestone-inin2004

** Tags added: architecture-s39064 bugnameltc-182958 severity-high
targetmilestone-inin2004

** 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 Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1856682

Title:
  GCC Miscompilation in vectorized code

Status in linux package in Ubuntu:
  New

Bug description:
  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

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1856682/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to