https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67381
Bug ID: 67381 Summary: genmatch does not honor the order of patterns Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: glisse at gcc dot gnu.org Target Milestone: --- (simplify (mult (BUILT_IN_SQRT@1 @0) @1) @0) (simplify (mult (BUILT_IN_SQRT @0) (BUILT_IN_SQRT @1)) (BUILT_IN_SQRT (mult @0 @1))) We can see in the generated files that it first tests if the second argument is sqrt before checking if both arguments are the same. See this thread: https://gcc.gnu.org/ml/gcc-patches/2015-08/msg01780.html It causes a failure in gcc.dg/builtins-11.c