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

    <tr>
        <th>Summary</th>
        <td>
            Clang generates worse code than GCC for a simple case
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:X86,
            llvm:codegen
      </td>
    </tr>

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

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

<pre>
    ```
int f(int *a) {
  if (*a & 1234)
    return 0;
  return 1;
}
```

```
bash$ gcc -O2 -S 1.c -o -
        .file "1.c"
        .text
        .p2align 4
        .globl  f
 .type   f, @function
f:
.LFB0:
        .cfi_startproc
 xorl    %eax, %eax
        testl   $1234, (%rdi)
        sete %al
        ret
```

```
bash$ clang -O2 -S 1.c -o -
 .text
        .file   "1.c"
        .globl  f # -- Begin function f
        .p2align        4, 0x90
 .type   f,@function
f:                                      # @f
 .cfi_startproc
# %bb.0:                                # %entry
 movzwl  (%rdi), %ecx
        xorl    %eax, %eax
        testl   $1234, %ecx                     # imm = 0x4D2
        sete    %al
 retq
```

https://www.godbolt.org/z/he4cj4a8G
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykVM-vozYQ_muGyyjIDJDAgcN7idhDK1VqL71VxgzEWwentrPJ27--MuFllSivetWOIoG_8fz6vgnSez1OzA2Ur1DuEnkKe-uaX-T0u-3YhaSz_VsDa7H8xA7Ei54CDkBVfAK9SKAaYfN6dSLqAYGq6ECgNWaUF0D1uxfRcTi5CQXkt5AFym4QbHbLy33pp2An_R6owFEpXP1GuPoDs1ThyuLqR9Vo6aANIxBlqQKiB2fgS3iAjiSNHicsHvDR2M4gDguchrcjYzzTFqEQw2lSQdvp6h4gX_pOf21fxe10y6YG_ZcP0oWjs2rxXawz0QlUsrzMea9vd6GBfTDzreJK8_ZKfel6fcd5NM8hDl9Kc487Dv-fa2XkNH7A9jMmZ-bxQ-7fCUWgHFcrfOVRT_jO443oR10WmwcXl1o80eOpHPgpi73E8PesT3Sar1DZdan4RNrlNk_BvS1JD_bb97PBe9kWtdWD2j-xEzHZhy3pwwEh36G4FDt6sjPXkre1cRz--Y-F2Ydw9HHJqQVqz-dzOtq-syak1o1A7Xegds-F-lrI6kvSN3lf57VMuMk22VrkVb0Ryb6p-qqri42osrrvaik25abL1SDzrM8GRetENySoEGVWZTnVuUgpK0Rd5xsuM66rrIBC8EFqkxrz7RBrJ9r7Ezc1rYs6MbJj4-fPHlEn1d889ZC__Fmt43LSFohiHOQvyvY88hThcpe4JsKr7jR6KITRPvgfBYIOhpvt_NcYeWInA3s8W-cZYxoMeznhl-0WB-tQoteHo2FU0nNycqa5p27UYX_qUmUPQO3czPWxOjr7lVUAaueJPFA7D_VvAAAA___zgH5U">