https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87532
Bug ID: 87532
Summary: bad results from vec_extract(unsigned char, foo)
dependent upon function inline
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: willschm at gcc dot gnu.org
Target Milestone: ---
Created attachment 44796
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44796&action=edit
patch to add powerpc testcase vec-extract-v16qiu-v2a.c and -v2b.c
Debugging an issue with an existing testcase that exercises
vec_extract(unsigned char, #); and have run into this. Using gcc trunk built
Oct 1, but believe this is not a new issue.
Results from a call into get_auto_n(a,i) are correct/incorrect depending on
whether the function being called is marked as __noinline__ .
Attaching a stripped down and slightly modified version of an existing
vec-extract-v16qiu testcase. Per the output below, the 'get_auto_n return
values are not consistent.
> cat gcc/testsuite/gcc/gcc.log | egrep "^get_|PASS"
PASS: gcc.target/powerpc/vec-extract-v16qiu-v2a.c (test for excess errors)
get_auto_n return: -202182160
PASS: gcc.target/powerpc/vec-extract-v16qiu-v2a.c execution test
PASS: gcc.target/powerpc/vec-extract-v16qiu-v2b.c (test for excess errors)
get_auto_n return: 4
PASS: gcc.target/powerpc/vec-extract-v16qiu-v2b.c execution test