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

    <tr>
        <th>Summary</th>
        <td>
            [MIPS] miscompile of 64-bit shift with masked shift amount
        </td>
    </tr>

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

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

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

<pre>
    ```llvm
target triple = "mips"

define i64 @f(i64 %0) {
  %2 = and i64 %0, 63
  %3 = lshr i64 -1, %2
  ret i64 %3
}

define i32 @main() {
  %1 = call i64 @f(i64 12)
  %2 = icmp ne i64 %1, lshr (i64 -1, i64 12)
  %3 = zext i1 %2 to i32
  ret i32 %3
}
```
`version 16.0.0 (https://github.com/llvm/llvm-project.git 08d094a0e457360ad8b94b017d2dc277e697ca76)` returns 0
`version 17.x (https://github.com/llvm/llvm-project.git 8f4dd44097c9ae25dd203d5ac87f3b48f854bba8)` returns 1
```diff
 andi    $1, $5, 63
        addiu   $2, $zero, -1
-       srlv    $2, $2, $1
-       not     $1, $1
-       addiu   $3, $zero, -2
- sllv    $1, $3, $1
-       or      $3, $1, $2
+       srlv    $3, $2, $1
        andi    $1, $5, 32
-       movn    $3, $2, $1
+ move    $2, $3
        jr      $ra
        movn    $2, $zero, $1
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycVN2O2ywQfRp8g2LhAdv4whe7XxTpu6hUqU8ABidssYkAZ3-evvLfJvGmldooigmcmXPOzBgRgjn2Wtcof0b5PhFDPDlfv4jGSftOEunUe40KMn-tvXSI7BF5isIfdcTRm7PVGNE9RgCdOQcEMCPmX6Vb02tsCoYRIy0CPi0hJwgqjMrnGYbHLZjyiF7hK-Y_XNAbCJ0gNpz8hNllI2IMXTFexzV6iUPl_pEgCqOgTpgeAf-qJZuIGmHtVnsGCKovqk3TnfFqFPJJ1yRziZqVPoqfLX3ot4hNNieMbtR3Z2mU-8DS2pjPvxftg3E9zoqUpGRkP8V4Dog-ITggOBxNPA0ybVyH4DC1c37szt696CamRxMx4YpUTBDN8pIWRCguKyZJVipQDZSlLqqyEWUxGinIKHDwfcAPVJTp2z9q4C1TijFSlU0lNORKAaEqFw0vWyoZb3nOpBR8oyHbFEaZtl0KKXplMB5rzpaxYfn9gM0foZQZZhwsuA_t3bjcLel3CzR4e8H30PW5QfYu4g35BnFDS7e0sEKD_SRc09DH6ZzHK-EVsUqcawTPX23QxzY-a_ObGlK4Z-_cpf9zxpG9cxe9Kd-mFy9XF17cH91QbNt0w7LOQaJqqipaiUTXWVEBzWlV0eRUF1xzxjnjpCEZyEKopmhAZhmpQOYlJKYGApTwjGckq3KaEtGWROuWyzJrZU4QI7oTxqbjDKfOHxMTwqDrgpUVS6yQ2obpegXo9SueDsdbMt8nvp7mXg7HgBixJsRwzRJNtNO9_O3_7z9QvsedCY3rzsZq7FpcsJ00EYeTaSN-NfGEOxF-arXsiM4NfUwGb-u_e_sQHCaJAcFhsvArAAD__7L9k8E">