https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83194

            Bug ID: 83194
           Summary: Possibly missed simplification with strcmp(s, t) ==
                    strcmp(t, s)
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: prathamesh3492 at gcc dot gnu.org
  Target Milestone: ---

Hi,
FRE transforms
_1 = strcmp(s, t)
_2 = strcmp(s, t)
return _1 == _2

to:
return 1

However it does't transform if
_2 = strcmp(t, s)

I assume strcmp(s, t) == -strcmp(t, s) ?
Would it be safe to transform to following ?
_1 = strcmp (s, t)
_2 = -_1
return _1 == _2

Thanks,
Prathamesh

Reply via email to