<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJy1VMtu2zAQ_BrqsoghU9bDBx0SJymKokAB925Q4spiTIkqSfnRr-9SThwnTQ9FUZgWtSR3NDPaVWXkqfwM0vSM5x52vTnAoUXfogXfKgc0GuE8WsZXUI0elAcn9uhgDqp33o61VyF7BcZCAtXJo5sB4wVL7_AoukEjmB5WphuUJtSH46CNJbz0ng613g-OJbeMP9LYGlkZ7WfGbin6Sf8vdVt8Qvz-jfFlGPE9i29XWvR0ICd2Ab7D3otAAkwDm67bOPTzDQ6qCCz4ErQxOwda7XDSFLgelG8NqVmv1w8JuHEYjPWBx_QAlsXnIVx3XnkL-3IOoDN7CceuiwMoSvWyPoz9UO90dbhshhkAWHIHtRlOk1HgDZEjx42Vl0zXjo1-mxfm-Co35Fzn__gNQH6U_xZAhqSAcGgNvSOLWzW952cYi_6dGefw6wn2aF2w-72vf2-f6kY92fbsXuB5jOfn38d65bXWP9r_fz2IZJnIZbIUkRipjmz5tK2NRMdjHkej1eW7sqZiG6tZbToKtN6_TDeDNU9YewqVcyNSZT6mScqXUVvOcyGzhPO8yfI8TxbZPMEmybOiXjYyzWWkRYXaldRljPMeDzBB0D01VvTvDFRJYoKeOV3TNJ0hFou4iBMZ14usQMEWMXZC6VnACR0b2XKCrMato01NTrrXTeGc2vaIE2Fi6JXXWB6LDAaLN-c2_KB3SQGMDoGsD7VC0_TVQSFDs1N4abSwxfjdtHZuIbqLJlXlJOkXpQuFUw>53529</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            x86 pre-SSSE3 _mm_set1_epi8(): use `imul` instead of `punpcklbw` + `pshuflw`
        </td>
    </tr>

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

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

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

<pre>
    I don't know whether this is faster, but it saves 1 instruction, or 3 bytes. ([example on Compiler Explorer](https://godbolt.org/z/Kch8GeeTP))
Clang's implementation of _mm_set1_epi8() looks like this, without SSSE3 support:
```asm
_mm_set1_epi8:
  movd xmm0, edi
  punpcklbw xmm0, xmm0   ; copy byte to low word
  pshuflw xmm0, xmm0, 0  ; copy low byte to low qword
  pshufd xmm0, xmm0, 0   ; copy low dword to whole register
  ret
```
My version looks like this:
```asm
_mm_set1_epi8:
  imul edi, edi, 0x01010101 ; copy low byte to dword
  movd xmm0, edi
  pshufd xmm0, xmm0, 0   ; copy low dword to whole register
  ret
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy1U02PmzAQ_TXmMtqIGMjCgcMmu1tVVaVK6T0yeBK8MZjaJh_99R2TTbpJ00MPFQNmbM_zm-eZyshj-Rmk6Rh_9LDtzB72DfoGLfhGOSBbC-fRMr6AavCgPDixQwdTUJ3zdqi9CtELMBYSqI4e3QQYz1k2x4Noe41gOliYtleaUF8OvTaW8LJn2tR43zuWPDH-SrYxsjLaT4zdkPeT3i91k39C_P6N8SJY_Mzip4UWHW14JHYBvsXOi0ACzBpWbbty6Kcr7FUeWPACtDFbB1ptccwpcN0r3xjKZrlcviTghr431gce4wFsFp9MuPY0cw173gfQmp2EQ9vGARSlOs_3Q9fXW13tL4thBACWzKE2_XEUCrwhcqS4sfIS6Zphra_jwhh_iA0xH-N__AEg78VfA8gQFBD2jaE7srhR4z2_w1j0N2Kc3K9H2KF1Qe5bXf9dPtUOepTtXb3A8xBPT8_9fOXHXP8q___VIJJlIoukEJFXXmN5yGfQW3w4VdOdEqSUYXAIhBBSpmFsHhQy1Cy5l3oJS4zPx7lTJdBfNFhd3rQKFfBQTWrTkqP17jw89Na8Ye3JVc4NSNX-miUZL6Km5InM1nldVVPBszyt69k6L9JZluaVFNM0j7SoULuSOpdx3uEeRgj6p2aNVMljThZP6Ztl2QQxT-M8TmRcp7McBUtjbIXSk8Aj9HBky5FSNWwcLWrS1v1eFM6pTYc4Hkf4YqCWtOXbpjYSXTgoGo8vR_q_ANJ-cFo">