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: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected],
                    [email protected], [email protected],
                    [email protected]

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.
_______________________________________________
llvm-bugs mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to