[Bug target/71731] New: incorrect result for vectorized char rotate with -mcpu=power9
acsawdey at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Jul 1 15:48:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71731
Bug ID: 71731
Summary: incorrect result for vectorized char rotate with
-mcpu=power9
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: acsawdey at gcc dot gnu.org
Target Milestone: ---
Target: powerpc64le-linux
Created attachment 38814
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38814&action=edit
preprocessed test case
In test case gcc/testsuite/gcc.c-torture/execute/pr56866.c
with flags -mcpu=power9 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops
-ftracer -finline-functions
The attached test case passes if compiled with -DDONTFAIL and fails otherwise.
#ifndef DONTFAIL
for (t = 0; t < 256; ++t)
rs[t] = (ws[t] >> 9) | (ws[t] << (sizeof (ws[0]) * __CHAR_BIT__ - 9));
#endif
for (t = 0; t < 256; ++t)
rc[t] = (wc[t] >> 5) | (wc[t] << (sizeof (wc[0]) * __CHAR_BIT__ - 5)); asm
volatile ("" : : "g" (rq), "g" (ri), "g" (rs), "g" (rc) : "memory");
#ifndef DONTFAIL
if (rs[0] != 0xb3a2 || rs[1])
__builtin_abort ();
#endif
if (rc[0] != 0x9b || rc[1])
__builtin_abort ();
More information about the Gcc-bugs
mailing list