[Bug target/92950] New: Wrong load instructions emitted for movv1qi

krebbel at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Dec 16 07:52:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92950

            Bug ID: 92950
           Summary: Wrong load instructions emitted for movv1qi
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: krebbel at gcc dot gnu.org
  Target Milestone: ---

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.


More information about the Gcc-bugs mailing list