<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJztVE2P0zAQ_TXOxdoqcZqkPeSwUIEQFyT2wHUST1OvHDv1R7fk1zNJW9gtK-0CEuJA5MR-Mx5nnmf0Giu_1nfoA8tv-S6EwdOCiXc0Oisbq8PCuo7QSC9my0_j_cfijqUblt6evu_RoIOAkoPv-dY6HnbK8wFCQGd49Oi54A475cngORjJB2dlbMmRkUNGI8EErowPLrZBWbPgH0xAkNxuz78q0_OYYQPjlO8rHiZyzpbpFDBHXuyHobeH8djsv-9bMVE4r5hYM_GWcHHs-_TqpNnE8g3vsWfFm5QVG9o8orO_NJ2is9-Kfg0L-ZRF9jOL7N9i4eNE4Zzto-t_vLwKCdSz_MV9HgOeaBegn7ochv2zzfWAU38O1uP_3nu5as-33N-uXCLrXK7zNSQQw866uofjzT7CCCaJTtdXyqbCLjaL1vYEtD5cphuq-z22gaDyPqKnRZEvszLZ1as2y2DVZLjGapW1KxRrqAosId9WUFZloqFB7Wu6XLrb5M9_qWqRCpFmokyrZSXyxbaqsBFFWlRtVebpkloLe1B6MZ0zqXTi6vnIJnaenJoE1_9wgveqM4iXDIMKegZfViVh_jk2dgiqB821fUCnTEfyyw-UHGk6JT6Aw4usT2WbTBqPHKR06D3vrUROym9smFRfJjOhembzDa-01pY>53416</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [X86] Suboptimal lowering of vector compare pattern, complex address mode is not used
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          max-quazan
      </td>
    </tr>
</table>

<pre>
    Test: https://godbolt.org/z/e14PzjK5T

Generated asm for this pattern uses 2 registers and produces 1 redundant instruction. Intead of
```
baz:                                    # @baz
        vpmovzxbq       (%rsi), %xmm0           # xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero
        vpmovzxbq       (%rdi), %xmm1           # xmm1 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero
        vpsubq  %xmm1, %xmm0, %xmm0
        vptest  %xmm0, %xmm0
        sete    %al
        retq
```
we propose
```
baz:                                    # @baz
        vpmovzxbq       (%rsi), %xmm0           # xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero
        vpsubq (%rdi), %xmm0, %xmm0
        vptest  %xmm0, %xmm0
        sete    %al
        retq
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztVMuOmzAU_RqzsQYZAyFZsJg2alV1U6mz6NbgC_HI2MSPTMrX90KSdiYz0ky7qLooMtj3Zd-Dj05j5ff6Dnwg-S3dhTB6XBD-AUdvZWN1SK3r0Zrwhaz4Mt1_Lu8I2xJ2e_p-BANOBJBU-IF21tGwU56OIgRwhkYPnnLqoFceHZ4KI-norIwtBjIMyGikMIEq44OLbVDWpPSTCSAktd35qBU7j8VsxDT3-4aH8JySgs0FS-XFfxgHe5iOzf5n3prw0nlF-Ibw92iXx2FgVzstLpJv6QADKd8xUm4xeQJnf2s6VWd_VP0WFPIpiuw5iuzfQuHjDOHc7aPf_3h5VRKQs_TVPA8BTrBLoZ-GHIT9i-R6gJmfo_Xwn3uv39rLlPvbN5fIOpebfCOSoIKGGiF-W68QJP0aGzsGNQhNtX0Ap0yPqkIP0AaUqtYOo3BwUau5m9ml4UiFlA68p4OVQFHQjA2zmMkkOl1fKaUKu9ikWImG1ofLdIM8useD0FTeR_C4KPMiWyW7Ou9gnclOimq9gaIQLXRQcNHmObBys4ZEiwa0n5EgjETVnHHOMr5iVVHxPO2qChpesrJqq1XOCiQaDELpdD541uzE1UsPTew9BjXKr_8VFN6r3gBc9hcx7KyrB3G82UcxCZMsHddLuz8A2r7B3w">