brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.2 KiB · f97e27b Raw
113 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv32 -mattr=+v -run-pass=legalizer %s -o - | FileCheck --check-prefix=HasF64 %s3# RUN: llc -mtriple=riscv32 -mattr=+zve64x -run-pass=legalizer %s -o - | FileCheck --check-prefix=NoF64 %s4 5---6name:            splatvector_nxv1i647legalized:       false8tracksRegLiveness: true9body:             |10  bb.1:11    ; HasF64-LABEL: name: splatvector_nxv1i6412    ; HasF64: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF13    ; HasF64-NEXT: [[MV:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[DEF]](s32), [[DEF]](s32)14    ; HasF64-NEXT: [[SPLAT_VECTOR:%[0-9]+]]:_(<vscale x 1 x s64>) = G_SPLAT_VECTOR [[MV]](s64)15    ; HasF64-NEXT: $v8 = COPY [[SPLAT_VECTOR]](<vscale x 1 x s64>)16    ; HasF64-NEXT: PseudoRET implicit $v817    ;18    ; NoF64-LABEL: name: splatvector_nxv1i6419    ; NoF64: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF20    ; NoF64-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 -121    ; NoF64-NEXT: [[VMSET_VL:%[0-9]+]]:_(<vscale x 1 x s1>) = G_VMSET_VL [[C]](s32)22    ; NoF64-NEXT: [[DEF1:%[0-9]+]]:_(<vscale x 1 x s64>) = G_IMPLICIT_DEF23    ; NoF64-NEXT: [[SPLAT_VECTOR_SPLIT_I64_VL:%[0-9]+]]:_(<vscale x 1 x s64>) = G_SPLAT_VECTOR_SPLIT_I64_VL [[DEF1]], [[DEF]](s32), [[DEF]], [[C]](s32)24    ; NoF64-NEXT: $v8 = COPY [[SPLAT_VECTOR_SPLIT_I64_VL]](<vscale x 1 x s64>)25    ; NoF64-NEXT: PseudoRET implicit $v826    %0:_(s64) = G_IMPLICIT_DEF27    %1:_(<vscale x 1 x s64>) = G_SPLAT_VECTOR %0(s64)28    $v8 = COPY %1(<vscale x 1 x s64>)29    PseudoRET implicit $v830 31...32---33name:            splatvector_nxv2i6434legalized:       false35tracksRegLiveness: true36body:             |37  bb.1:38    ; HasF64-LABEL: name: splatvector_nxv2i6439    ; HasF64: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF40    ; HasF64-NEXT: [[MV:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[DEF]](s32), [[DEF]](s32)41    ; HasF64-NEXT: [[SPLAT_VECTOR:%[0-9]+]]:_(<vscale x 2 x s64>) = G_SPLAT_VECTOR [[MV]](s64)42    ; HasF64-NEXT: $v8m2 = COPY [[SPLAT_VECTOR]](<vscale x 2 x s64>)43    ; HasF64-NEXT: PseudoRET implicit $v8m244    ;45    ; NoF64-LABEL: name: splatvector_nxv2i6446    ; NoF64: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF47    ; NoF64-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 -148    ; NoF64-NEXT: [[VMSET_VL:%[0-9]+]]:_(<vscale x 2 x s1>) = G_VMSET_VL [[C]](s32)49    ; NoF64-NEXT: [[DEF1:%[0-9]+]]:_(<vscale x 2 x s64>) = G_IMPLICIT_DEF50    ; NoF64-NEXT: [[SPLAT_VECTOR_SPLIT_I64_VL:%[0-9]+]]:_(<vscale x 2 x s64>) = G_SPLAT_VECTOR_SPLIT_I64_VL [[DEF1]], [[DEF]](s32), [[DEF]], [[C]](s32)51    ; NoF64-NEXT: $v8m2 = COPY [[SPLAT_VECTOR_SPLIT_I64_VL]](<vscale x 2 x s64>)52    ; NoF64-NEXT: PseudoRET implicit $v8m253    %0:_(s64) = G_IMPLICIT_DEF54    %1:_(<vscale x 2 x s64>) = G_SPLAT_VECTOR %0(s64)55    $v8m2 = COPY %1(<vscale x 2 x s64>)56    PseudoRET implicit $v8m257 58...59---60name:            splatvector_nxv4i6461legalized:       false62tracksRegLiveness: true63body:             |64  bb.1:65    ; HasF64-LABEL: name: splatvector_nxv4i6466    ; HasF64: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF67    ; HasF64-NEXT: [[MV:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[DEF]](s32), [[DEF]](s32)68    ; HasF64-NEXT: [[SPLAT_VECTOR:%[0-9]+]]:_(<vscale x 4 x s64>) = G_SPLAT_VECTOR [[MV]](s64)69    ; HasF64-NEXT: $v8m4 = COPY [[SPLAT_VECTOR]](<vscale x 4 x s64>)70    ; HasF64-NEXT: PseudoRET implicit $v8m471    ;72    ; NoF64-LABEL: name: splatvector_nxv4i6473    ; NoF64: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF74    ; NoF64-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 -175    ; NoF64-NEXT: [[VMSET_VL:%[0-9]+]]:_(<vscale x 4 x s1>) = G_VMSET_VL [[C]](s32)76    ; NoF64-NEXT: [[DEF1:%[0-9]+]]:_(<vscale x 4 x s64>) = G_IMPLICIT_DEF77    ; NoF64-NEXT: [[SPLAT_VECTOR_SPLIT_I64_VL:%[0-9]+]]:_(<vscale x 4 x s64>) = G_SPLAT_VECTOR_SPLIT_I64_VL [[DEF1]], [[DEF]](s32), [[DEF]], [[C]](s32)78    ; NoF64-NEXT: $v8m4 = COPY [[SPLAT_VECTOR_SPLIT_I64_VL]](<vscale x 4 x s64>)79    ; NoF64-NEXT: PseudoRET implicit $v8m480    %0:_(s64) = G_IMPLICIT_DEF81    %1:_(<vscale x 4 x s64>) = G_SPLAT_VECTOR %0(s64)82    $v8m4 = COPY %1(<vscale x 4 x s64>)83    PseudoRET implicit $v8m484 85...86---87name:            splatvector_nxv8i6488legalized:       false89tracksRegLiveness: true90body:             |91  bb.1:92    ; HasF64-LABEL: name: splatvector_nxv8i6493    ; HasF64: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF94    ; HasF64-NEXT: [[MV:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[DEF]](s32), [[DEF]](s32)95    ; HasF64-NEXT: [[SPLAT_VECTOR:%[0-9]+]]:_(<vscale x 8 x s64>) = G_SPLAT_VECTOR [[MV]](s64)96    ; HasF64-NEXT: $v8m8 = COPY [[SPLAT_VECTOR]](<vscale x 8 x s64>)97    ; HasF64-NEXT: PseudoRET implicit $v8m898    ;99    ; NoF64-LABEL: name: splatvector_nxv8i64100    ; NoF64: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF101    ; NoF64-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 -1102    ; NoF64-NEXT: [[VMSET_VL:%[0-9]+]]:_(<vscale x 8 x s1>) = G_VMSET_VL [[C]](s32)103    ; NoF64-NEXT: [[DEF1:%[0-9]+]]:_(<vscale x 8 x s64>) = G_IMPLICIT_DEF104    ; NoF64-NEXT: [[SPLAT_VECTOR_SPLIT_I64_VL:%[0-9]+]]:_(<vscale x 8 x s64>) = G_SPLAT_VECTOR_SPLIT_I64_VL [[DEF1]], [[DEF]](s32), [[DEF]], [[C]](s32)105    ; NoF64-NEXT: $v8m8 = COPY [[SPLAT_VECTOR_SPLIT_I64_VL]](<vscale x 8 x s64>)106    ; NoF64-NEXT: PseudoRET implicit $v8m8107    %0:_(s64) = G_IMPLICIT_DEF108    %1:_(<vscale x 8 x s64>) = G_SPLAT_VECTOR %0(s64)109    $v8m8 = COPY %1(<vscale x 8 x s64>)110    PseudoRET implicit $v8m8111 112...113