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

    <tr>
        <th>Summary</th>
        <td>
            llvm::Register llvm::MachineOperand::getReg() const: Assertion `isReg() && "This is not a register operand!"' failed.
        </td>
    </tr>

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

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

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

<pre>
    With `llc -O2`:

```llvm
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

define void @_ZN5repro4fn1617h3fe1cacc58d45f54E(ptr %_29.61573, i1 %0, i128 %1) {
start:
  br label %bb12

bb12: ; preds = %bb41, %bb32, %bb17, %start
  %_15.2.ph = phi ptr [ null, %start ], [ null, %bb17 ], [ %_20.13, %bb41 ], [ null, %bb32 ]
  br i1 %0, label %bb23, label %bb17

bb17: ; preds = %bb12
  store i8 0, ptr %_15.2.ph, align 1
  br label %bb12

bb23:                                             ; preds = %bb30, %bb12
  %_20.71455 = phi ptr [ %_29.61573, %bb12 ], [ null, %bb30 ]
  br label %bb34

bb34:                                       ; preds = %bb32, %bb23
  %_20.10 = phi ptr [ %_20.71455, %bb23 ], [ %_20.14, %bb32 ]
  br label %bb28

bb28:                                 ; preds = %bb35, %bb30, %bb34
  %_40.2 = phi ptr [ %_20.71455, %bb34 ], [ %_20.71455, %bb35 ], [ %_40.3, %bb30 ]
  %_20.12 = phi ptr [ %_20.10, %bb34 ], [ %_20.10, %bb35 ], [ %_20.14, %bb30 ]
  store ptr null, ptr %_40.2, align 8
  br label %bb29

bb29: ; preds = %bb38, %bb28
  %_40.3 = phi ptr [ %_40.2, %bb28 ], [ %_20.71455, %bb38 ]
  %_20.13 = phi ptr [ %_20.12, %bb28 ], [ %_20.10, %bb38 ]
  br label %bb30

bb30:                           ; preds = %bb41, %bb29
 %_20.14 = phi ptr [ %_20.13, %bb29 ], [ %_20.10, %bb41 ]
  switch i128 %1, label %bb23 [
    i128 1, label %bb28
    i128 0, label %bb32
 ]

bb32:                           ; preds = %bb30
  switch i1 false, label %bb12 [
    i1 true, label %bb34
    i1 false, label %bb35
  ]

bb35:                           ; preds = %bb32
  br i1 %0, label %bb38, label %bb28

bb38:                        ; preds = %bb35
  br i1 %0, label %bb41, label %bb29

bb41: ; preds = %bb38
  switch i8 0, label %bb12 [
    i8 0, label %bb30
  ]

; uselistorder directives
  uselistorder ptr %_20.14, { 1, 0 }
}
```

https://godbolt.org/z/5f5o9qnWT
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUV1tvpDYU_jWeFwtkH9tcHuYhaTpv7UrblVbqS8TFDG4JTG2T7PbXrwzDwHhgclFEjH1u33cuOJkx6thKuUfiEYmnXdbbutP7Ipf92y7vyp_778rWGEWkaQocfAEUEcQeEHlCZHpGZPxtmteXcctm-igtLjObNdnPrrcYsSeMAGTwgtiDDE4QOzMMhod7pdevbhXx4RGoaVElTolCErSJW0STTsSDvygkCODKv9Xq1MjJ948keo540Lf_tt1bGzSq7X8Ex7a_aI3PUlaqlfi1UyVGnDz__afQ8qQ7XrU0onHNKkmLrChEUnJRCf47guRkNUYgniENIypihuA3rKjbIuMSEvdCEaQYxY-jI2MzbS9cYpxr3GS5bJxkntOroIZ39oARe8QnLUtzBiXynFPnYlgyuCxpfF6OXs4uXIxUhBCe6sHAqVZ4iF084rZvmqUORuJpeL8-c6aXRwNsElJ2Oed0U5XBcDQDXpC0wA7M26CxR0a8QcbEGsbGdlpileDB-JSgM3i3lTXq2GL6MfaBOYef-VkJjpGZQ1imBEgYUy7ETU78mjrrbvNLPH4XkBi_hsT4xyGtgZlrDZgHhpJ1JGeYC8W1SuLb5bKskcTLUPIROGtAxIK-ecmXmDgJ4WOQGF-B5IkIX4STkG3kcCJl0z0l930vz28ce3RfeR4byHmbSmxqIsfG3EHJRn5SLz_pRsuyZK6HxCOdraKe_J913ic8WWN03fbA9X3jS0aTO_1GvH4j9wv0_mif6JzTthk-WyjdD_88qaeEvylb1MuPlTeUnZVJGI9yN0KJJ-CPdjYNvovjCz_waX4mihex4yprjPQ_H-CHjq3ufam55fGWISYuVXQTvvh8-PDul3Bsjjtjj90be-vT7j2f_CapXitzut3KXj5uC-AmFys1QjZYdi57IxvlZlMpNS6VloVVr9JMGlfHl2vZZczFj2PJEoziyfRlMd1jly5ra0_GXdLggOBw7Mq8a2zY6SOCw_8IDqISXfpf-_3brtyzMmVptpN7GiVCQBqTeFfvU5HxmGRFXNCISVpCxhLGhYx5VoiKiZ3aAwFGBKOUcMrjMIUUGMulTEhV0ThBnMiXTDWhu2A73ztlTC_3ESOM7QbizHR_13snFOT90SBOHBVmVrPKNnIQcIjYw1d5VMZKjeetP7KiVq38cpI6a8tx7yjtV3lE7n6d4qJrjbu14gdjpLaqa90_B8rMEggiBJG7cX-rlcHK4LazOMN68tadjQN1V2-IcZWpRpbhrtfN3iNc2brPw6J7QXAYohz_BCfd_SMLi-AwcGEQHAY6fgUAAP__-GMvtw">