brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.8 KiB · 374afa3 Raw
119 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc %s -o - -mtriple=riscv64 -mattr=+v -run-pass=riscv-vector-peephole -verify-machineinstrs | FileCheck %s3 4---5name: vle326body: |7  bb.0:8    liveins: $x8, $v0, $v89    ; CHECK-LABEL: name: vle3210    ; CHECK: liveins: $x8, $v0, $v811    ; CHECK-NEXT: {{  $}}12    ; CHECK-NEXT: %avl:gprnox0 = COPY $x813    ; CHECK-NEXT: %passthru:vrnov0 = COPY $v814    ; CHECK-NEXT: %mask:vmv0 = COPY $v015    ; CHECK-NEXT: %y:vrnov0 = PseudoVLE32_V_M1_MASK %passthru, $noreg, %mask, %avl, 5 /* e32 */, 0 /* tu, mu */ :: (load unknown-size, align 1)16    %avl:gprnox0 = COPY $x817    %passthru:vrnov0 = COPY $v818    %x:vr = PseudoVLE32_V_M1 $noreg, $noreg, %avl, 5 /* e32 */, 2 /* tu, ma */ :: (load unknown-size)19    %mask:vmv0 = COPY $v020    %y:vrnov0 = PseudoVMERGE_VVM_M1 %passthru, %passthru, %x, %mask, %avl, 5 /* e32 */21...22---23name: vle32_no_passthru24body: |25  bb.0:26    liveins: $x8, $v0, $v827    ; CHECK-LABEL: name: vle32_no_passthru28    ; CHECK: liveins: $x8, $v0, $v829    ; CHECK-NEXT: {{  $}}30    ; CHECK-NEXT: %avl:gprnox0 = COPY $x831    ; CHECK-NEXT: %false:vrnov0 = COPY $v832    ; CHECK-NEXT: %mask:vmv0 = COPY $v033    ; CHECK-NEXT: %y:vrnov0 = PseudoVLE32_V_M1_MASK %false, $noreg, %mask, %avl, 5 /* e32 */, 1 /* ta, mu */ :: (load unknown-size, align 1)34    %avl:gprnox0 = COPY $x835    %false:vr = COPY $v836    %x:vr = PseudoVLE32_V_M1 $noreg, $noreg, %avl, 5 /* e32 */, 2 /* tu, ma */ :: (load unknown-size)37    %mask:vmv0 = COPY $v038    %y:vrnov0 = PseudoVMERGE_VVM_M1 $noreg, %false, %x, %mask, %avl, 5 /* e32 */39...40---41name: vle32_move_past_passthru42body: |43  bb.0:44    liveins: $x8, $v0, $v845    ; CHECK-LABEL: name: vle32_move_past_passthru46    ; CHECK: liveins: $x8, $v0, $v847    ; CHECK-NEXT: {{  $}}48    ; CHECK-NEXT: %avl:gprnox0 = COPY $x849    ; CHECK-NEXT: %passthru:vrnov0 = COPY $v850    ; CHECK-NEXT: %mask:vmv0 = COPY $v051    ; CHECK-NEXT: %y:vrnov0 = PseudoVLE32_V_M1_MASK %passthru, $noreg, %mask, %avl, 5 /* e32 */, 0 /* tu, mu */ :: (load unknown-size, align 1)52    %avl:gprnox0 = COPY $x853    %x:vr = PseudoVLE32_V_M1 $noreg, $noreg, %avl, 5 /* e32 */, 2 /* tu, ma */ :: (load unknown-size)54    %passthru:vrnov0 = COPY $v855    %mask:vmv0 = COPY $v056    %y:vrnov0 = PseudoVMERGE_VVM_M1 %passthru, %passthru, %x, %mask, %avl, 5 /* e32 */57...58---59name: vnclip_move_past_passthru60body: |61  bb.0:62    liveins: $x8, $v0, $v863    ; CHECK-LABEL: name: vnclip_move_past_passthru64    ; CHECK: liveins: $x8, $v0, $v865    ; CHECK-NEXT: {{  $}}66    ; CHECK-NEXT: %avl:gprnox0 = COPY $x867    ; CHECK-NEXT: %passthru:vrnov0 = COPY $v868    ; CHECK-NEXT: %mask:vmv0 = COPY $v069    ; CHECK-NEXT: %y:vrnov0 = PseudoVNCLIPU_WV_MF2_MASK %passthru, $noreg, $noreg, %mask, 0, %avl, 5 /* e32 */, 0 /* tu, mu */, implicit-def $vxsat70    %avl:gprnox0 = COPY $x871    %x:vr = PseudoVNCLIPU_WV_MF2 $noreg, $noreg, $noreg, 0, -1, 5, 3, implicit-def $vxsat72    %passthru:vrnov0 = COPY $v873    %mask:vmv0 = COPY $v074    %y:vrnov0 = PseudoVMERGE_VVM_M1 %passthru, %passthru, %x, %mask, %avl, 5 /* e32 */75...76---77name: vnclip_cant_move_past_passthru78body: |79  bb.0:80    liveins: $x8, $v0, $v881    ; CHECK-LABEL: name: vnclip_cant_move_past_passthru82    ; CHECK: liveins: $x8, $v0, $v883    ; CHECK-NEXT: {{  $}}84    ; CHECK-NEXT: %avl:gprnox0 = COPY $x885    ; CHECK-NEXT: %x:vr = PseudoVNCLIPU_WV_MF2 $noreg, $noreg, $noreg, 0, -1, 5 /* e32 */, 3 /* ta, ma */, implicit-def $vxsat86    ; CHECK-NEXT: %vxsat:gpr = COPY $vxsat87    ; CHECK-NEXT: %passthru:vrnov0 = COPY $v888    ; CHECK-NEXT: %mask:vmv0 = COPY $v089    ; CHECK-NEXT: %y:vrnov0 = PseudoVMERGE_VVM_M1 %passthru, %passthru, %x, %mask, %avl, 5 /* e32 */90    %avl:gprnox0 = COPY $x891    %x:vr = PseudoVNCLIPU_WV_MF2 $noreg, $noreg, $noreg, 0, -1, 5, 3, implicit-def $vxsat92    %vxsat:gpr = COPY $vxsat93    %passthru:vrnov0 = COPY $v894    %mask:vmv0 = COPY $v095    %y:vrnov0 = PseudoVMERGE_VVM_M1 %passthru, %passthru, %x, %mask, %avl, 5 /* e32 */96...97---98name: commute_vfmadd99body: |100  bb.0:101    liveins: $x8, $v0, $v8, $v9, $v10102    ; CHECK-LABEL: name: commute_vfmadd103    ; CHECK: liveins: $x8, $v0, $v8, $v9, $v10104    ; CHECK-NEXT: {{  $}}105    ; CHECK-NEXT: %avl:gprnox0 = COPY $x8106    ; CHECK-NEXT: %mask:vmv0 = COPY $v0107    ; CHECK-NEXT: %passthru:vrnov0 = COPY $v8108    ; CHECK-NEXT: %x:vr = COPY $v9109    ; CHECK-NEXT: %y:vr = COPY $v10110    ; CHECK-NEXT: %vmerge:vrnov0 = nofpexcept PseudoVFMACC_VV_M1_E32_MASK %passthru, %y, %x, %mask, 7, %avl, 5 /* e32 */, 0 /* tu, mu */, implicit $frm111    %avl:gprnox0 = COPY $x8112    %mask:vmv0 = COPY $v0113    %passthru:vrnov0 = COPY $v8114    %x:vr = COPY $v9115    %y:vr = COPY $v10116    %vfmadd:vrnov0 = nofpexcept PseudoVFMADD_VV_M1_E32 %x, %y, %passthru, 7, -1, 5 /* e32 */, 3 /* ta, ma */, implicit $frm117    %vmerge:vrnov0 = PseudoVMERGE_VVM_M1 %passthru, %passthru, %vfmadd, %mask, %avl, 5118...119