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

    <tr>
        <th>Summary</th>
        <td>
            [RISCV] 
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:RISC-V
      </td>
    </tr>

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

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

<pre>
    Compiling the below with `llc -verify-machineinstrs` fails during the machine verifier:
```llvm
target datalayout = "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128"
target triple = "riscv64-unknown-linux-gnu"

define i32 @_ZNK2cv12LMSolverImpl3runERKNS_17_InputOutputArrayE(i1 %cmp436) {
entry:
  br label %for.cond

for.cond: ; preds = %for.cond, %entry
  %conv = select i1 %cmp436, i32 32, i32 1
  %call479 = call i32 (ptr, ...) null(ptr null, i32 %conv, i32 0, i32 0, double 0.000000e+00, double 0.000000e+00, double 0.000000e+00, double 0.000000e+00, double 0.000000e+00)
  br label %for.cond
}
```

```
# After Instruction Selection
# Machine code for function _ZNK2cv12LMSolverImpl3runERKNS_17_InputOutputArrayE: IsSSA, TracksLiveness
Function Live Ins: $x10 in %0

bb.0.entry:
 successors: %bb.1(0x80000000); %bb.1(100.00%)
  liveins: $x10
  %0:gpr = COPY $x10
  %1:gpr = COPY %0:gpr

bb.1.for.cond:
; predecessors: %bb.0, %bb.3
  successors: %bb.2(0x40000000), %bb.3(0x40000000); %bb.2(50.00%), %bb.3(50.00%)

  %2:gpr = ANDI %1:gpr, 1
  ADJCALLSTACKDOWN 8, 0, implicit-def dead $x2, implicit $x2
 %3:gpr = COPY $x2
  %4:gprjalr = COPY $x0
  SD %4:gprjalr, %3:gpr, 0 :: (store (s64))
  %5:gpr = ADDI $x0, 1
  %6:gpr = ADDI $x0, 32
 BNE %2:gpr, $x0, %bb.3

bb.2.for.cond:
; predecessors: %bb.1
 successors: %bb.3(0x80000000); %bb.3(100.00%)


bb.3.for.cond:
; predecessors: %bb.1, %bb.2
  successors: %bb.1(0x80000000); %bb.1(100.00%)

  %7:gpr = PHI %6:gpr, %bb.1, %5:gpr, %bb.2
  $x10 = COPY %4:gprjalr
  $x11 = COPY %7:gpr
  $x12 = COPY %4:gprjalr
  $x13 = COPY %4:gprjalr
  $x14 = COPY %4:gprjalr
  $x15 = COPY %4:gprjalr
 $x16 = COPY %4:gprjalr
  $x17 = COPY %4:gprjalr
  PseudoCALLIndirect %4:gprjalr, <regmask $vlenb $x0 $x1 $x8 $x9 $x18 $x19 $x20 $x21 $x22 $x23 $x24 $x25 $x26 $x27 $x8_x9 $x18_x19 $x20_x21 $x22_x23 $x24_x25 $x26_x27>, implicit-def dead $x1, implicit $x10, implicit $x11, implicit $x12, implicit $x13, implicit $x14, implicit $x15, implicit $x16, implicit $x17, implicit-def $x2, implicit-def $x10
  ADJCALLSTACKUP 8, 0, implicit-def dead $x2, implicit $x2
  %8:gpr = COPY $x10
  PseudoBR %bb.1

# End machine code for function _ZNK2cv12LMSolverImpl3runERKNS_17_InputOutputArrayE.

*** Bad machine code: Call frame size on entry does not match value computed from predecessor ***
- function: _ZNK2cv12LMSolverImpl3runERKNS_17_InputOutputArrayE
- basic block: %bb.2 for.cond (0x144084970)
Call frame size on entry 0 does not match value computed from predecessor 8

*** Bad machine code: Call frame size on entry does not match value computed from predecessor ***
- function: _ZNK2cv12LMSolverImpl3runERKNS_17_InputOutputArrayE
- basic block: %bb.3 for.cond (0x144084870)
Call frame size on entry 0 does not match value computed from predecessor 8
LLVM ERROR: Found 2 machine code errors.
```

The test case looks strange, but it was reduced from a crash when compiling OpenCV with `-rva22u64v -mllvm -verify-machineinstrs` .
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWEtz4yoW_jV4Q0klgV5eeOFHUuPpdJKKezI1s3EhCdt0sHABcpL59VOALGM7SSc9c-_iplICHb7z5JwjMFGKrRtKRyCdgHQ2IK3eCDni7RPlw3xQivp1NBXbHeOsWUO9obCkXDzDZ6Y3EGQR5xUM9lSy1WuwJdWGNZQ1SksFsgiuCOMK1q088HYIaBkYlQCPQTQD0RhkkfvnfL91JE3kmmpYE004eRWthgDPIECIBluAxzTYATzOEvsIWD-JUQHwOEZF0GDkaAtDQ-hErJZsx-lBpGSq2mdJ0DZPjXhuAs6a9iVYN23P5p41XRnzGUYQJNHy37ffULWP0c33heB7KufbHceyba4evt0ulnG-nDe7Vt-1etfqsZTk9QqggsUQoLTa7hKcATSEIJ844bTR8rWPCISlhJyUlBv4SsiwEk3tG9PT8BgCPIE7SWvVeXRkQFPz6mR3go160ewtVFFOKw1PjZpaDzE6zGKfk3Ce5EPLbOYuGKjYaWngYRgap5qWc0fsptMOZzUfXqOTSS3aklMYhZH9owBNoj9pYfiJmOezs1T19-KciDAcrzSVcG6Koa00Ew1c2Fgz0RxB37uCqERN4UpIuGobB_6d5MJjOFeLxdh4-kOS6kndsD1tqFJO4_VBuCEb02zqoOQljiBrjM8nTpVlGIVnWanaqqJKCdnxpmUZxgAV0UvhQmqjiSfeUhyZcAOUenHmbG_6xFG_l2ERwOP1TtoMm97d_-sSEV8iDlxn9sehVyXdWlcq9MKPqCuWsgzxQdtb_iLrb-L56_GdL_WhMFypF4kTnvQ8RJ63yPN2fDubexEwQvriHM_-Ph3f3Cx-jKffZnf_vIWFWXY1tt1xVjEd1HQFa0pqG1PkL3UUJwugFL-1C8gzK3GAn4SfgfqdWszOcJ3P-Gh8BM2-2MgWSgtJ7SRLbICGnrbUD8LMBsFo8v0HKM3eReGD6ZPbKy-ozqIOc7L1fQqhr6RQ_EGZ4PfLBL9ZJmeG4K8Z0juEPsrlL9euF-3ci_b93-beBhyVH-xIzxe8VLL9x69lP2V8VHyCyv2K7xDoU3Lwp1DJp1DpL1AWlH1KVP4r1L2ibS1Mkc-bmknz4X6jwPBU0vWWqCcjdc9pU7oUd0rss7DPoaO4l9i9IQdDDoeQG7AbEjekbsjckDuJy17c8ihreRS0PEpZHkUsX1AO8NX7PSq-6FFxdEl6A3XZ3GJ8SUouSeklKbsk5RcmX3TUnnr8dvkt-h_3_0ODNvtefPyddMkyeTjtTMejx1VT9-fx_8vxIzzV0P3DCTnVY3rP1BwcV5JsKVTsPxSKBtpzBqwFVbARGm6JrjZwT3hruLa7VtMarqTY-v0O9lqc0qC33yj5nRNUJ6YkilWw5KJ68j778NB_oW2acZJERTLMj-fHd92KvupY8RePJX4zlsUfGcubm8fv8Orh4e7BmHEt2qaG6LQCqJRCqvCDc_6PDYWaKg0roijkQjwpqLQkzZqaWi1bDZmGz0RBSeu2OphDYCWJ2sDnDW2spe46fbejzfSxv0sHck8QarNkD4OtuQi_f7MOB_UI10M8JAM6ivN4WCRpNkwHm1E-JFVZV1mB4mxYkJpgVJK8ihOSYZwSOmAjFKEkyqM4TtIkTcM6pXWZxnmWJqgs0hokEd0SxkNjQijkesCUaulomOMoGdjrkbI_FyBUkuqJ2vPIw3wxDR7NdTmdDeTIsAZlu1YgiThTWh2Faaa5_bnBsDyCdAYHreSjjdY7cy4B6Bqg6zXTm7YMK7EF6Nr-JuCGYCfFT1ppgK6tUQqga2fXfoT-GwAA___caL_H">