1 # RUN: not llc -mtriple=mips-mti-linux-gnu -mcpu=mips32r2 %s \
2 # RUN: -start-after=expand-isel-pseudos -stop-after=expand-isel-pseudos \
3 # RUN: -verify-machineinstrs -mattr=+use-indirect-jump-hazard -o - 2>&1 \
6 # Test that calls are checked when using indirect jumps guards (hazard variant).
8 # CHECK: Bad machine code: invalid instruction when using jump guards!
10 define i32 @fooTail(i32 (i32)* nocapture %f1) {
12 %0 = tail call i32 %f1(i32 14)
19 exposesReturnsTwice: false
21 regBankSelected: false
23 tracksRegLiveness: true
25 - { id: 0, class: gpr32, preferred-register: '' }
26 - { id: 1, class: gpr32, preferred-register: '' }
28 - { reg: '$a0', virtual-reg: '%0' }
30 isFrameAddressTaken: false
31 isReturnAddressTaken: false
40 maxCallFrameSize: 4294967295
41 hasOpaqueSPAdjustment: false
43 hasMustTailInVarArgFunc: false
54 %1:gpr32 = ADDiu $zero, 14
56 TAILCALLREG %0, csr_o32, implicit-def dead $at, implicit $a0