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

            Bug ID: 107190
           Summary: [aarch64] regression with optimization
                    -fexpensive-optimizations
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zhongyunde at huawei dot com
  Target Milestone: ---

This case is simplify from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107090,
and we can see that the codegen of function `test_m` has some regression with
optimization -fexpensive-optimizations, https://gcc.godbolt.org/z/zbKrEox4j

This is because the pass 208t.widening_mul is controlled by
-fexpensive-optimizations (default on at -O3), it conversion

```
  m_12 = m_9 + m1_10;
  if (m1_10 > m_12)
```
into

```
  _17 = .ADD_OVERFLOW (m_9, m1_10);
  m_12 = REALPART_EXPR <_17>;
  _18 = IMAGPART_EXPR <_17>;
  if (_18 != 0)``

```

Reply via email to