https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97204
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Keywords| |wrong-code Ever confirmed|0 |1 Last reconfirmed| |2020-09-25 Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org Target Milestone|--- |11.0 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Value numbering stmt = _21 = MEM[(__m64 * {ref-all})&y]; ipa-modref: in sse2_test/572, call to test_pinsrw/570 does not clobber MEM[(__m64 * {ref-all})&y] 0->0 ipa-modref: in sse2_test/572, call to test_pinsrw/570 does not clobber MEM[(__m64 * {ref-all})&y] 0->0 Setting value number of _21 to { -218821384, 287834160 } now the testcase seems to store outside of r and ck given we pass the address of a single 'int' to test_pinsrw as 'r' but do *(__m64 *) r = _m_pinsrw (*i, val, 0); so I have a fix for the testcase.