[Bug tree-optimization/67381] New: genmatch does not honor the order of patterns

glisse at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Aug 28 11:59:00 GMT 2015


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



More information about the Gcc-bugs mailing list