[llvm-bugs] [Bug 33671] New: PowerPC64: Invalid stxv emitted - not a multiple of 16

via llvm-bugs llvm-bugs at lists.llvm.org
Sat Jul 1 14:26:56 PDT 2017


https://bugs.llvm.org/show_bug.cgi?id=33671

            Bug ID: 33671
           Summary: PowerPC64: Invalid stxv emitted - not a multiple of 16
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: PowerPC
          Assignee: unassignedbugs at nondot.org
          Reporter: anton at samba.org
                CC: echristo at gmail.com, hfinkel at anl.gov,
                    kbarton at linux.vnet.ibm.com, llvm-bugs at lists.llvm.org,
                    nemanja.i.ibm at gmail.com

I'm seeing an invalid stxv when building the following test case:

#include <string.h>

struct {
        int a;
        int b;
} c[3];

int *d;
int e, f;

void g(void)
{
        int h = 0;

        for (; h < 3; h++) {
                memset(&c[h], 0, sizeof *c);

                for (; e;)
                        d[f] = 0;
        }
}

# clang -O2 -mcpu=power9 -S foo.c
# gcc -c foo.s

foo.s:41: Error: operand out of domain (8 is not a multiple of 16)

Note: It looks like the integrated assembler accepts the invalid input and just
truncates the offset. It would be nice to emit an error like gas does.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170701/60c91204/attachment.html>


More information about the llvm-bugs mailing list