brintos

brintos / llvm-project-archived public Read only

0
0
Text · 13.4 KiB · 7b5d568 Raw
357 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 %s3# RUN: llc -mtriple=riscv64 -mattr=+v -run-pass=legalizer %s -o - | FileCheck %s4 5---6name:            bitcast_nxv1i87legalized:       true8tracksRegLiveness: true9body:             |10  bb.0.entry:11    ; CHECK-LABEL: name: bitcast_nxv1i812    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 1 x s8>) = G_IMPLICIT_DEF13    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 8 x s1>) = G_BITCAST [[DEF]](<vscale x 1 x s8>)14    ; CHECK-NEXT: $v8 = COPY [[BITCAST]](<vscale x 8 x s1>)15    ; CHECK-NEXT: PseudoRET implicit $v816    %0:_(<vscale x 1 x s8>) = G_IMPLICIT_DEF17    %1:_(<vscale x 8 x s1>) = G_BITCAST %0(<vscale x 1 x s8>)18    $v8 = COPY %1(<vscale x 8 x s1>)19    PseudoRET implicit $v820...21---22name:            bitcast_nxv2i823legalized:       true24tracksRegLiveness: true25body:             |26  bb.0.entry:27    ; CHECK-LABEL: name: bitcast_nxv2i828    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 2 x s8>) = G_IMPLICIT_DEF29    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 1 x s16>) = G_BITCAST [[DEF]](<vscale x 2 x s8>)30    ; CHECK-NEXT: $v8 = COPY [[BITCAST]](<vscale x 1 x s16>)31    ; CHECK-NEXT: PseudoRET implicit $v832    %0:_(<vscale x 2 x s8>) = G_IMPLICIT_DEF33    %1:_(<vscale x 1 x s16>) = G_BITCAST %0(<vscale x 2 x s8>)34    $v8 = COPY %1(<vscale x 1 x s16>)35    PseudoRET implicit $v836...37---38name:            bitcast_nxv4i839legalized:       true40tracksRegLiveness: true41body:             |42  bb.0.entry:43    ; CHECK-LABEL: name: bitcast_nxv4i844    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 4 x s8>) = G_IMPLICIT_DEF45    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 2 x s16>) = G_BITCAST [[DEF]](<vscale x 4 x s8>)46    ; CHECK-NEXT: $v8 = COPY [[BITCAST]](<vscale x 2 x s16>)47    ; CHECK-NEXT: PseudoRET implicit $v848    %0:_(<vscale x 4 x s8>) = G_IMPLICIT_DEF49    %1:_(<vscale x 2 x s16>) = G_BITCAST %0(<vscale x 4 x s8>)50    $v8 = COPY %1(<vscale x 2 x s16>)51    PseudoRET implicit $v852...53---54name:            bitcast_nxv8i855legalized:       true56tracksRegLiveness: true57body:             |58  bb.0.entry:59    ; CHECK-LABEL: name: bitcast_nxv8i860    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 8 x s8>) = G_IMPLICIT_DEF61    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 64 x s1>) = G_BITCAST [[DEF]](<vscale x 8 x s8>)62    ; CHECK-NEXT: $v8 = COPY [[BITCAST]](<vscale x 64 x s1>)63    ; CHECK-NEXT: PseudoRET implicit $v864    %0:_(<vscale x 8 x s8>) = G_IMPLICIT_DEF65    %1:_(<vscale x 64 x s1>) = G_BITCAST %0(<vscale x 8 x s8>)66    $v8 = COPY %1(<vscale x 64 x s1>)67    PseudoRET implicit $v868...69---70name:            bitcast_nxv16i871legalized:       true72tracksRegLiveness: true73body:             |74  bb.0.entry:75    ; CHECK-LABEL: name: bitcast_nxv16i876    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 16 x s8>) = G_IMPLICIT_DEF77    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 4 x s32>) = G_BITCAST [[DEF]](<vscale x 16 x s8>)78    ; CHECK-NEXT: $v8m2 = COPY [[BITCAST]](<vscale x 4 x s32>)79    ; CHECK-NEXT: PseudoRET implicit $v8m280    %0:_(<vscale x 16 x s8>) = G_IMPLICIT_DEF81    %1:_(<vscale x 4 x s32>) = G_BITCAST %0(<vscale x 16 x s8>)82    $v8m2 = COPY %1(<vscale x 4 x s32>)83    PseudoRET implicit $v8m284...85---86name:            bitcast_nxv32i887legalized:       true88tracksRegLiveness: true89body:             |90  bb.0.entry:91    ; CHECK-LABEL: name: bitcast_nxv32i892    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 32 x s8>) = G_IMPLICIT_DEF93    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 16 x s16>) = G_BITCAST [[DEF]](<vscale x 32 x s8>)94    ; CHECK-NEXT: $v8m4 = COPY [[BITCAST]](<vscale x 16 x s16>)95    ; CHECK-NEXT: PseudoRET implicit $v8m496    %0:_(<vscale x 32 x s8>) = G_IMPLICIT_DEF97    %1:_(<vscale x 16 x s16>) = G_BITCAST %0(<vscale x 32 x s8>)98    $v8m4 = COPY %1(<vscale x 16 x s16>)99    PseudoRET implicit $v8m4100...101---102name:            bitcast_nxv64i8103legalized:       true104tracksRegLiveness: true105body:             |106  bb.0.entry:107    ; CHECK-LABEL: name: bitcast_nxv64i8108    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 64 x s8>) = G_IMPLICIT_DEF109    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 8 x s64>) = G_BITCAST [[DEF]](<vscale x 64 x s8>)110    ; CHECK-NEXT: $v8m8 = COPY [[BITCAST]](<vscale x 8 x s64>)111    ; CHECK-NEXT: PseudoRET implicit $v8m8112    %0:_(<vscale x 64 x s8>) = G_IMPLICIT_DEF113    %1:_(<vscale x 8 x s64>) = G_BITCAST %0(<vscale x 64 x s8>)114    $v8m8 = COPY %1(<vscale x 8 x s64>)115    PseudoRET implicit $v8m8116...117---118name:            bitcast_nxv1i16119legalized:       true120tracksRegLiveness: true121body:             |122  bb.0.entry:123    ; CHECK-LABEL: name: bitcast_nxv1i16124    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 1 x s16>) = G_IMPLICIT_DEF125    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 2 x s8>) = G_BITCAST [[DEF]](<vscale x 1 x s16>)126    ; CHECK-NEXT: $v8 = COPY [[BITCAST]](<vscale x 2 x s8>)127    ; CHECK-NEXT: PseudoRET implicit $v8128    %0:_(<vscale x 1 x s16>) = G_IMPLICIT_DEF129    %1:_(<vscale x 2 x s8>) = G_BITCAST %0(<vscale x 1 x s16>)130    $v8 = COPY %1(<vscale x 2 x s8>)131    PseudoRET implicit $v8132...133---134name:            bitcast_nxv2i16135legalized:       true136tracksRegLiveness: true137body:             |138  bb.0.entry:139    ; CHECK-LABEL: name: bitcast_nxv2i16140    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 2 x s16>) = G_IMPLICIT_DEF141    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 1 x s32>) = G_BITCAST [[DEF]](<vscale x 2 x s16>)142    ; CHECK-NEXT: $v8 = COPY [[BITCAST]](<vscale x 1 x s32>)143    ; CHECK-NEXT: PseudoRET implicit $v8144    %0:_(<vscale x 2 x s16>) = G_IMPLICIT_DEF145    %1:_(<vscale x 1 x s32>) = G_BITCAST %0(<vscale x 2 x s16>)146    $v8 = COPY %1(<vscale x 1 x s32>)147    PseudoRET implicit $v8148...149---150name:            bitcast_nxv4i16151legalized:       true152tracksRegLiveness: true153body:             |154  bb.0.entry:155    ; CHECK-LABEL: name: bitcast_nxv4i16156    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 4 x s16>) = G_IMPLICIT_DEF157    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 1 x s64>) = G_BITCAST [[DEF]](<vscale x 4 x s16>)158    ; CHECK-NEXT: $v8 = COPY [[BITCAST]](<vscale x 1 x s64>)159    ; CHECK-NEXT: PseudoRET implicit $v8160    %0:_(<vscale x 4 x s16>) = G_IMPLICIT_DEF161    %1:_(<vscale x 1 x s64>) = G_BITCAST %0(<vscale x 4 x s16>)162    $v8 = COPY %1(<vscale x 1 x s64>)163    PseudoRET implicit $v8164...165---166name:            bitcast_nxv8i16167legalized:       true168tracksRegLiveness: true169body:             |170  bb.0.entry:171    ; CHECK-LABEL: name: bitcast_nxv8i16172    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 8 x s16>) = G_IMPLICIT_DEF173    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 2 x s64>) = G_BITCAST [[DEF]](<vscale x 8 x s16>)174    ; CHECK-NEXT: $v8m2 = COPY [[BITCAST]](<vscale x 2 x s64>)175    ; CHECK-NEXT: PseudoRET implicit $v8m2176    %0:_(<vscale x 8 x s16>) = G_IMPLICIT_DEF177    %1:_(<vscale x 2 x s64>) = G_BITCAST %0(<vscale x 8 x s16>)178    $v8m2 = COPY %1(<vscale x 2 x s64>)179    PseudoRET implicit $v8m2180...181---182name:            bitcast_nxv16i16183legalized:       true184tracksRegLiveness: true185body:             |186  bb.0.entry:187    ; CHECK-LABEL: name: bitcast_nxv16i16188    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 16 x s16>) = G_IMPLICIT_DEF189    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 8 x s32>) = G_BITCAST [[DEF]](<vscale x 16 x s16>)190    ; CHECK-NEXT: $v8m4 = COPY [[BITCAST]](<vscale x 8 x s32>)191    ; CHECK-NEXT: PseudoRET implicit $v8m4192    %0:_(<vscale x 16 x s16>) = G_IMPLICIT_DEF193    %1:_(<vscale x 8 x s32>) = G_BITCAST %0(<vscale x 16 x s16>)194    $v8m4 = COPY %1(<vscale x 8 x s32>)195    PseudoRET implicit $v8m4196...197---198name:            bitcast_nxv32i16199legalized:       true200tracksRegLiveness: true201body:             |202  bb.0.entry:203    ; CHECK-LABEL: name: bitcast_nxv32i16204    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 32 x s16>) = G_IMPLICIT_DEF205    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 8 x s64>) = G_BITCAST [[DEF]](<vscale x 32 x s16>)206    ; CHECK-NEXT: $v8m8 = COPY [[BITCAST]](<vscale x 8 x s64>)207    ; CHECK-NEXT: PseudoRET implicit $v8m8208    %0:_(<vscale x 32 x s16>) = G_IMPLICIT_DEF209    %1:_(<vscale x 8 x s64>) = G_BITCAST %0(<vscale x 32 x s16>)210    $v8m8 = COPY %1(<vscale x 8 x s64>)211    PseudoRET implicit $v8m8212...213---214name:            bitcast_nxv1i32215legalized:       true216tracksRegLiveness: true217body:             |218  bb.0.entry:219    ; CHECK-LABEL: name: bitcast_nxv1i32220    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 1 x s32>) = G_IMPLICIT_DEF221    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 2 x s16>) = G_BITCAST [[DEF]](<vscale x 1 x s32>)222    ; CHECK-NEXT: $v8 = COPY [[BITCAST]](<vscale x 2 x s16>)223    ; CHECK-NEXT: PseudoRET implicit $v8224    %0:_(<vscale x 1 x s32>) = G_IMPLICIT_DEF225    %1:_(<vscale x 2 x s16>) = G_BITCAST %0(<vscale x 1 x s32>)226    $v8 = COPY %1(<vscale x 2 x s16>)227    PseudoRET implicit $v8228...229---230name:            bitcast_nxv2i32231legalized:       true232tracksRegLiveness: true233body:             |234  bb.0.entry:235    ; CHECK-LABEL: name: bitcast_nxv2i32236    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 2 x s32>) = G_IMPLICIT_DEF237    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 4 x s16>) = G_BITCAST [[DEF]](<vscale x 2 x s32>)238    ; CHECK-NEXT: $v8 = COPY [[BITCAST]](<vscale x 4 x s16>)239    ; CHECK-NEXT: PseudoRET implicit $v8240    %0:_(<vscale x 2 x s32>) = G_IMPLICIT_DEF241    %1:_(<vscale x 4 x s16>) = G_BITCAST %0(<vscale x 2 x s32>)242    $v8 = COPY %1(<vscale x 4 x s16>)243    PseudoRET implicit $v8244...245---246name:            bitcast_nxv4i32247legalized:       true248tracksRegLiveness: true249body:             |250  bb.0.entry:251    ; CHECK-LABEL: name: bitcast_nxv4i32252    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 4 x s32>) = G_IMPLICIT_DEF253    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 8 x s16>) = G_BITCAST [[DEF]](<vscale x 4 x s32>)254    ; CHECK-NEXT: $v8m2 = COPY [[BITCAST]](<vscale x 8 x s16>)255    ; CHECK-NEXT: PseudoRET implicit $v8m2256    %0:_(<vscale x 4 x s32>) = G_IMPLICIT_DEF257    %1:_(<vscale x 8 x s16>) = G_BITCAST %0(<vscale x 4 x s32>)258    $v8m2 = COPY %1(<vscale x 8 x s16>)259    PseudoRET implicit $v8m2260...261---262name:            bitcast_nxv8i32263legalized:       true264tracksRegLiveness: true265body:             |266  bb.0.entry:267    ; CHECK-LABEL: name: bitcast_nxv8i32268    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 8 x s32>) = G_IMPLICIT_DEF269    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 4 x s64>) = G_BITCAST [[DEF]](<vscale x 8 x s32>)270    ; CHECK-NEXT: $v8m4 = COPY [[BITCAST]](<vscale x 4 x s64>)271    ; CHECK-NEXT: PseudoRET implicit $v8m4272    %0:_(<vscale x 8 x s32>) = G_IMPLICIT_DEF273    %1:_(<vscale x 4 x s64>) = G_BITCAST %0(<vscale x 8 x s32>)274    $v8m4 = COPY %1(<vscale x 4 x s64>)275    PseudoRET implicit $v8m4276...277---278name:            bitcast_nxv16i32279legalized:       true280tracksRegLiveness: true281body:             |282  bb.0.entry:283    ; CHECK-LABEL: name: bitcast_nxv16i32284    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 16 x s32>) = G_IMPLICIT_DEF285    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 32 x s16>) = G_BITCAST [[DEF]](<vscale x 16 x s32>)286    ; CHECK-NEXT: $v8m8 = COPY [[BITCAST]](<vscale x 32 x s16>)287    ; CHECK-NEXT: PseudoRET implicit $v8m8288    %0:_(<vscale x 16 x s32>) = G_IMPLICIT_DEF289    %1:_(<vscale x 32 x s16>) = G_BITCAST %0(<vscale x 16 x s32>)290    $v8m8 = COPY %1(<vscale x 32 x s16>)291    PseudoRET implicit $v8m8292...293---294name:            bitcast_nxv1i64295legalized:       true296tracksRegLiveness: true297body:             |298  bb.0.entry:299    ; CHECK-LABEL: name: bitcast_nxv1i64300    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 1 x s64>) = G_IMPLICIT_DEF301    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 2 x s32>) = G_BITCAST [[DEF]](<vscale x 1 x s64>)302    ; CHECK-NEXT: $v8 = COPY [[BITCAST]](<vscale x 2 x s32>)303    ; CHECK-NEXT: PseudoRET implicit $v8304    %0:_(<vscale x 1 x s64>) = G_IMPLICIT_DEF305    %1:_(<vscale x 2 x s32>) = G_BITCAST %0(<vscale x 1 x s64>)306    $v8 = COPY %1(<vscale x 2 x s32>)307    PseudoRET implicit $v8308...309---310name:            bitcast_nxv2i64311legalized:       true312tracksRegLiveness: true313body:             |314  bb.0.entry:315    ; CHECK-LABEL: name: bitcast_nxv2i64316    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 2 x s64>) = G_IMPLICIT_DEF317    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 4 x s32>) = G_BITCAST [[DEF]](<vscale x 2 x s64>)318    ; CHECK-NEXT: $v8m2 = COPY [[BITCAST]](<vscale x 4 x s32>)319    ; CHECK-NEXT: PseudoRET implicit $v8m2320    %0:_(<vscale x 2 x s64>) = G_IMPLICIT_DEF321    %1:_(<vscale x 4 x s32>) = G_BITCAST %0(<vscale x 2 x s64>)322    $v8m2 = COPY %1(<vscale x 4 x s32>)323    PseudoRET implicit $v8m2324...325---326name:            bitcast_nxv4i64327legalized:       true328tracksRegLiveness: true329body:             |330  bb.0.entry:331    ; CHECK-LABEL: name: bitcast_nxv4i64332    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 4 x s64>) = G_IMPLICIT_DEF333    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 16 x s16>) = G_BITCAST [[DEF]](<vscale x 4 x s64>)334    ; CHECK-NEXT: $v8m4 = COPY [[BITCAST]](<vscale x 16 x s16>)335    ; CHECK-NEXT: PseudoRET implicit $v8m4336    %0:_(<vscale x 4 x s64>) = G_IMPLICIT_DEF337    %1:_(<vscale x 16 x s16>) = G_BITCAST %0(<vscale x 4 x s64>)338    $v8m4 = COPY %1(<vscale x 16 x s16>)339    PseudoRET implicit $v8m4340...341---342name:            bitcast_nxv8i64343legalized:       true344tracksRegLiveness: true345body:             |346  bb.0.entry:347    ; CHECK-LABEL: name: bitcast_nxv8i64348    ; CHECK: [[DEF:%[0-9]+]]:_(<vscale x 8 x s64>) = G_IMPLICIT_DEF349    ; CHECK-NEXT: [[BITCAST:%[0-9]+]]:_(<vscale x 64 x s8>) = G_BITCAST [[DEF]](<vscale x 8 x s64>)350    ; CHECK-NEXT: $v8m8 = COPY [[BITCAST]](<vscale x 64 x s8>)351    ; CHECK-NEXT: PseudoRET implicit $v8m8352    %0:_(<vscale x 8 x s64>) = G_IMPLICIT_DEF353    %1:_(<vscale x 64 x s8>) = G_BITCAST %0(<vscale x 8 x s64>)354    $v8m8 = COPY %1(<vscale x 64 x s8>)355    PseudoRET implicit $v8m8356...357