<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/98480>98480</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [optimization] gcc generate better code than clang related to build complex type
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          vfdff
      </td>
    </tr>
</table>

<pre>
    * test: https://gcc.godbolt.org/z/rfGE71oqP
```
double WORK[2*NUM];
complex<double> res[NUM];

void foo () {
  for (int K = 0; K < NUM; ++K) {
    res[K] = complex<double>(WORK[K], WORK[K + NUM]);
  }
}
```

* gcc:
```
.L2:
        ldr q30, [x0]
        add     x0, x0, 16
        ldr     q31, [x0, 8176]
        st2     {v30.2d - v31.2d}, [x1], 32
        cmp     x2, x0
        bne     .L2
```

* llvm: has 2 extra add instructions compare to gcc
```
.LBB0_1:                                // =>This Inner Loop Header: Depth=1
        ldr     q0, [x9]
        add x11, x10, x8
        add     x8, x8, #32
        ldr     q1, [x9, #8192]
        cmp     x8, #4, lsl #12                 // =16384
 add     x9, x9, #16
        st2     { v0.2d, v1.2d }, [x11]
 b.ne    .LBB0_1
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyEVE2P4zYM_TX0hRhDouzYPvgQTyZtMdsPFC16LGxJcVw4VkZSguz--kKyJ7PJzO4KgahE1CP5-MLWuaGftK4hbyDfJO3J742tzzu12yWdUZ9roDV67TyINe69PzoQa6At0LaXMu2N6szoU2N7oO0XoK3d_fRUcPPyB7ANsDWs2PKJX5U5daPGf37_8xnyhoDWv_39K-QbEM3sIM3hOOoLiMfZFcQTWu0gb-4c5_1sBoU7YxCoBKoQiuUacWds-HWYPD4jiA0yEE08PmLAEg0CNUDN891DXAI-Q76JDz_ICahcagheQI-vJT0HUFxypeqaLiIUmyXz6-GWm2WnNfZSBpY_cko_0fUKlzUqiy-ChSwgby4shL5xaJWK9hJ95p2v3oOE9SL4GxA9YsmL1TtA5ylaKJqzYCkpfMCz4CmpUNzynC_MCLp9LA_HORtasrm57SYdbSj0-yyN4_kQVdk6JNQXb9tY6TA5b0_SD2ZysXet1ehNZPVjSpuG_csD1A_WrPugCRBPf-0Hh79Mk7b4yZgj_qxbpW1A2eij34PY8G8wfO1U9WGnLjx24MLnbpXf6GW53AYsEvckX4Pxt2CzZ8krehf32pNXvCzY0Y3hzOk7TPCVKLMF7JpbjHWNeC-1r9SD56Ce4HcO6sGv5cPfsuzSWRWvrbptY6JqoSpRtYmueUGsYFlFLNnXWpeKZXKnipWWq4KLFRHbcdVp0mXZlclQE6OMFZxzIXJepUxSucqLTOckK9kKyJg-tMOYBrGFKZcMzp10XZVZyZKx7fTo4uwkkmM79UCB28TWwf-hO_UOMjYOzrs3BD_4MQ5cc_TDYfjSBqWGWdNLib2etG29xk57ry1KozT6fTthxEerx9ZrFfTcnYZRvQ4n9J-POjnZsb4b0oPfn7pUmgPQNv5jZvNwtOY_LT3QNlbkgLZzUeea_g8AAP__fC-OVA">