90 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv32 -mattr=+v -enable-subreg-liveness -run-pass init-undef -run-pass machineverifier %s -o - | FileCheck %s3# RUN: llc -mtriple=riscv32 -mattr=+v -enable-subreg-liveness -passes=init-undef,verify %s -o - | FileCheck %s4 5--- |6 source_filename = "<stdin>"7 target datalayout = "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128"8 target triple = "riscv64"9 10 define <vscale x 2 x float> @undef_early_clobber_chain(ptr %p) #0 {11 entry:12 %0 = tail call <vscale x 2 x float> @llvm.riscv.vrgather.vx.nxv2f32.i64(<vscale x 2 x float> undef, <vscale x 2 x float> undef, i64 0, i64 0)13 ret <vscale x 2 x float> %014 }15 16 attributes #0 = { "target-features"="+v" }17 18...19---20name: undef_early_clobber_chain21alignment: 422exposesReturnsTwice: false23legalized: false24regBankSelected: false25selected: false26failedISel: false27tracksRegLiveness: true28hasWinCFI: false29callsEHReturn: false30callsUnwindInit: false31hasEHContTarget: false32hasEHScopes: false33hasEHFunclets: false34isOutlined: false35debugInstrRef: false36failsVerification: false37tracksDebugUserValues: false38registers:39 - { id: 0, class: gpr, preferred-register: '' }40 - { id: 1, class: vr, preferred-register: '' }41 - { id: 2, class: vr, preferred-register: '' }42 - { id: 3, class: vr, preferred-register: '' }43liveins: []44frameInfo:45 isFrameAddressTaken: false46 isReturnAddressTaken: false47 hasStackMap: false48 hasPatchPoint: false49 stackSize: 050 offsetAdjustment: 051 maxAlignment: 152 adjustsStack: false53 hasCalls: false54 stackProtector: ''55 functionContext: ''56 maxCallFrameSize: 429496729557 cvBytesOfCalleeSavedRegisters: 058 hasOpaqueSPAdjustment: false59 hasVAStart: false60 hasMustTailInVarArgFunc: false61 hasTailCall: false62 localFrameSize: 063 savePoint: []64 restorePoint: []65fixedStack: []66stack: []67entry_values: []68callSites: []69debugValueSubstitutions: []70constants: []71machineFunctionInfo:72 varArgsFrameIndex: 073 varArgsSaveSize: 074body: |75 bb.0.entry:76 ; CHECK-LABEL: name: undef_early_clobber_chain77 ; CHECK: [[DEF:%[0-9]+]]:vr = IMPLICIT_DEF78 ; CHECK-NEXT: dead $x0 = PseudoVSETIVLI 0, 208 /* e32, m1, ta, ma */, implicit-def $vl, implicit-def $vtype79 ; CHECK-NEXT: [[INIT_UNDEF:%[0-9]+]]:vr = INIT_UNDEF80 ; CHECK-NEXT: early-clobber %1:vr = PseudoVRGATHER_VI_M1 undef [[DEF]], [[INIT_UNDEF]], 0, 0, 5 /* e32 */, 0 /* tu, mu */, implicit $vl, implicit $vtype81 ; CHECK-NEXT: $v8 = COPY %182 ; CHECK-NEXT: PseudoRET implicit $v883 %2:vr = IMPLICIT_DEF84 dead $x0 = PseudoVSETIVLI 0, 208 /* e32, m1, ta, ma */, implicit-def $vl, implicit-def $vtype85 early-clobber %1:vr = PseudoVRGATHER_VI_M1 undef %2, undef %2, 0, 0, 5 /* e32 */, 0 /* tu, mu */, implicit $vl, implicit $vtype86 $v8 = COPY %187 PseudoRET implicit $v888 89...90