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