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

    <tr>
        <th>Summary</th>
        <td>
            Assertion `isImm() && "Wrong MachineOperand accessor"` failed
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:Hexagon,
            llvm:crash
      </td>
    </tr>

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

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

<pre>
    ```
llc: /root/llvm-project/llvm/include/llvm/CodeGen/MachineOperand.h:557: int64_t llvm::MachineOperand::getImm() const: Assertion `isImm() && "Wrong MachineOperand accessor"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /opt/compiler-explorer/clang-assertions-trunk/bin/llc -o /app/output.s -x86-asm-syntax=intel <source>
1.      Running pass 'Function Pass Manager' on module '<source>'.
2.      Running pass 'Hexagon constant-extender optimization' on function '@f'
 #0 0x000055dca7b46e0f llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-trunk/bin/llc+0x3575e0f)
 #1 0x000055dca7b44564 SignalHandler(int) Signals.cpp:0:0
 #2 0x00007f8f87af1420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
 #3 0x00007f8f875be00b raise (/lib/x86_64-linux-gnu/libc.so.6+0x4300b)
 #4 0x00007f8f8759d859 abort (/lib/x86_64-linux-gnu/libc.so.6+0x22859)
 #5 0x00007f8f8759d729 (/lib/x86_64-linux-gnu/libc.so.6+0x22729)
 #6 0x00007f8f875aefd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
 #7 0x000055dca59fbd09 (anonymous namespace)::HexagonConstExtenders::runOnMachineFunction(llvm::MachineFunction&) HexagonConstExtenders.cpp:0:0
 #8 0x000055dca6dd6dae llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) MachineFunctionPass.cpp:0:0
 #9 0x000055dca736d081 llvm::FPPassManager::runOnFunction(llvm::Function&) (/opt/compiler-explorer/clang-assertions-trunk/bin/llc+0x2d9c081)
#10 0x000055dca736d2c9 llvm::FPPassManager::runOnModule(llvm::Module&) (/opt/compiler-explorer/clang-assertions-trunk/bin/llc+0x2d9c2c9)
#11 0x000055dca736db42 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/opt/compiler-explorer/clang-assertions-trunk/bin/llc+0x2d9cb42)
#12 0x000055dca4e59ca4 compileModule(char**, llvm::LLVMContext&) llc.cpp:0:0
#13 0x000055dca4da1fa6 main (/opt/compiler-explorer/clang-assertions-trunk/bin/llc+0x7d0fa6)
#14 0x00007f8f8759f083 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24083)
#15 0x000055dca4e4ff9e _start (/opt/compiler-explorer/clang-assertions-trunk/bin/llc+0x87ef9e)
Compiler returned: 139
```

```llvm
target triple = "hexagon-unknown-linux-gnu"

define i32 @f(float %0, double %1, i1 %2, i16 %3, i8 %4) {
BB:
  %A = alloca double, align 8
  %L2 = load i32, ptr poison, align 4
  %B3 = or i32 42, %L2
  %G1 = getelementptr ptr, ptr %A, i32 %B3
  store i1 false, ptr %G1, align 1
  ret i32 %B3
}
```

https://godbolt.org/z/Yjh68esaG
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8V01v4zgP_jXKRUggy9-HHNK06QzQYop3XuxiT4Es046msmRI8k46v34hxWnsTLHo7BYLpKhDkw8fihRDMmtFqwDWKL1B6e2CDe6gzZofGmbdotL1yxplZPyQW0Q2UnIUbzCiO6O1Q3Qn5Z_dsjf6G_DzV0R3QnE51HARbHUN96AQ3T0yfhAKvvRgmKpXBxRv0jT3oEK5LNk7HEziDYo3c92TrAX3uesQLRAtMdfKOm-7sRaME1phlBFhLxqIZohmGFH6u9GqxXNIzDgHa7VBlCKa44YJCfXqFOvTw93m6x22Q9UJhxmuhhYb6LVx2Gl8cK63nhLdIbprhTsM1Yrr7hLz1dEIawewiO6wdzyeEHYHwNwwe8AV48_OMA6j-6-O8WdcD13vvQQRWSFSPhndGtZhZtqhA-XsmBDdey9cd72QYJZw7KU2YLxMMtUu2fmI7NKZQT0juquECjw5XmoPwfreAw2uH9zK4uWxyJbMdkv7ohw7ovhWKAcSo3hr9WA4oPjuRCzyxP43KCVUi3tmLUY03w2Kh5Q8ecEjU6z1dHKsFe50PUjwWjMwmo_B07cAP8GRtVqdss6UW8LRgarBYN070YkfzLsbPTRn795HQhr_L0BjRGOCyZEQQtK05iyvkgxIM6k7-2JPD09GKBcS8X-fGUSLi5Jh3_faOgOsC0W29QV8KrniX6YD0RtyjNM8Bc-7vPCOrngnaZbgr6JVTH5iqpYevxhpnMR2xXtfQCT8vQLREShviqbIWRMllOD93oB12sDeuDEKKSpEd8ci22fJUgo1HJetGk4vencwwOqV1SsSGEdJQsmMbzxzk1ZASIUNExbegc89chaQk5iQaoaczJHLukhLzCr9LuYTZEqLtJwhp9fI-WtO342Z0zlmNsdk0NTZr2HGcVNnM8x8Wgtp2VQ1CTyZ0uql04PFinVg-1C35almxxu09Rfobrw8Y6mbQX1RY3c839xZvf_0ztPBbyK-XXPFlHBW11nN4Odmf8b3TWPC7E1KV1wQLVY9M86XY4nfwHubVzm7VHFWkyKa8No9edNz-_plRh_RCmhdclJEr-n3nYBcs6a8fAfrx9B454kdRR_NmPJyxji6ZlwldMJYQsv4y9h3L9w_d7185f-f8K4SOuNNp7wTSEvOEjz6eD1OfmAG0U34bCdRPTz89rjVysHRjUyl5D_XofcTz_zULGpYhjsm1EcFl9ekYdkstus22pAixvu97z1765hx-wmB97a_hBTxzEs6P8GkaUrAJ_yPiq3IoSnh1et2RMIG3GAU-OERR_GZ03yovRKG5AWRY6YFh50RvR9W4ls_Rx5OHW85qGelv6vpQdApXg2NUIBFTPFp_igaqZkPOCW-Rmo9VGEESqMwPET-kZ4e_Y9DGofnwj8mocTzmxPyzc3rRIj9202gxqTUnI2w3pRJ0SpcTBQfaNCUmtWel1fqncG9Fta3rLNJMjG5iYOJNiGQJNgEpInOfRR0WnAgwY-kAdSZM76nGGLxR-Ehz7Zh2PCRN0xamKjfRxc20VnbgLuGQPnt32T0akTXdaWlW2nTIrr7gejuj2-HrADL7hf1Oq7LuGQLWEdZkZUpzTO6OKxpShJa8CitGpbyOC04IxWkEAEnhOfRQqwpoTHJooxGaUnpilZRXFRVVaV50VCIUEKgY0KufFV534uwB6yzOE7LhWQVSBvWL0r9AgBhzRl_VMNSskWUju0k7AlemN4uzDqsF9XQWpQQKayzFxdOOAnrj9iJMjLuRIvByPU_33lCuH8FAAD__09UVQA">