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

    <tr>
        <th>Summary</th>
        <td>
            Missing Optimization of Logic expression
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          colin-arnet
      </td>
    </tr>
</table>

<pre>
    Clang -O3 is not able to optimize the logic operation unlike gcc.
https://godbolt.org/z/jhnv7evGq

Source:
```
int a, c;
static int b = 4294967295;
char d;
int main() {
    c = 0;
 for (; c < 8; c = c + 3){
        d < b && (b = 0);
    }
 return d;
}
```
x86 -O3 Assembly:
```
main: # @main
        movsbl  d(%rip), %eax
        movzbl b(%rip), %ecx
        leal    -1(%rcx), %edx
        cmpb    %dl, %al
        setl    %sil
        orb     %sil, %cl
        leal -1(%rcx), %edx
        cmpb    %dl, %al
        setl    %dl
 orb     %dl, %cl
        orb     %dl, %sil
        notb    %sil
 leal    -1(%rcx), %edx
        cmpb    %dl, %al
        setge %dil
        testb   %dil, %sil
        jne     .LBB0_2
        cmpb %dl, %al
        setl    %dl
        orb     %cl, %dl
 movb    %dl, b(%rip)
.LBB0_2:
        movl    $9, c(%rip)
 retq
c:
        .long   0                               # 0x0

d:
        .byte   0                               # 0x0

a:
        .long   0                               # 0x0
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0ld2O6jYQx5_GuRmBnElCyEUulkX05lTnog9Q-WM2eOvYNDaU3aevYgKHr63UqidCCfb85s_fQ-wRIZjOEbWsWrFqnYl93PqhVd4aNxODo5hJrz_aVytcB7PvBZgAzkcQ0hJED34XTW8-CeKWwPrOKPA7GkQ03sHeWfMHQafUnPE14y_bGHeBFS8MNww3ndfS2zj3Q8dw88lw8751h5oOv_x5wk_33_x-UDRmnSYXfPqkoXERBMNXUKxYnaZCFNEoGCMSWLGGEpuyWdTYVBdGbcUA-jIc2V4Yx3DJsAFWT_MAACpp8AsLb36AESxWKfYKl6_r8Y4rKBg2NxrjpRMrgeGC4WJUkJMyNj_EAYDV62kwUNwP7srnJXRXheNykf6dlxCol_bjq2qlNRYvwLAAVvI0vDHZ-0OQFkCnSlSD2Y3u8BUYViSOD_CntCCfseqOtSTs-JzlE62OV7S-o1W_k6kUWGk7QcLeMoGinZhg7mJ-SOnn2ElA2SeWfooffQ5d-dBf2XjGPCzI-SgfFvtTatpRIu4NRArJwRT7wua7o_Scf1ut-O_4xMC_reBjkdQ5_cL0_nC7sts3MkFnR-eNcfUOT79ZNqdj5CF13IbTiaQe8ufWuw4AOPzzNe44fuTXB5t-FJMfkf6bmPifnJ3Pi0y3hW6KRmTU5nXOscrrvM62rcyJN2KpiZdKljXXqJcCNb5VeSneEDPTIseSFznmRVXl9ZzksqiWKJsi1w0VDSs59cLYubWHfjz9MxPCntpl2eSLzApJNqSGhOjoL0hBhjj2p6Edc2Zy3wVWcmtCDD9UoomW2l9NCMZ18P3UmU6dyL_Bt9Sc6LgbKATjXbYfbHvXkEzc7uVc-Z7hZpSdHrPd4N9JRYabZCYw3CSzfwcAAP__eY7Ujw">