brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.8 KiB · a19ab0b Raw
152 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -verify-machineinstrs -mtriple aarch64-unknown-unknown -run-pass=legalizer -O0 -global-isel %s -o - | FileCheck %s3---4name:            fptrunc_s16_s325body:             |6  bb.0:7    liveins: $s08 9    ; CHECK-LABEL: name: fptrunc_s16_s3210    ; CHECK: liveins: $s011    ; CHECK-NEXT: {{  $}}12    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s013    ; CHECK-NEXT: [[FPTRUNC:%[0-9]+]]:_(s16) = G_FPTRUNC [[COPY]](s32)14    ; CHECK-NEXT: $h0 = COPY [[FPTRUNC]](s16)15    ; CHECK-NEXT: RET_ReallyLR implicit $h016    %0:_(s32) = COPY $s017    %1:_(s16) = G_FPTRUNC %018    $h0 = COPY %1(s16)19    RET_ReallyLR implicit $h020...21---22name:            fptrunc_s16_s6423body:             |24  bb.0:25    liveins: $d026 27    ; CHECK-LABEL: name: fptrunc_s16_s6428    ; CHECK: liveins: $d029    ; CHECK-NEXT: {{  $}}30    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $d031    ; CHECK-NEXT: [[FPTRUNC:%[0-9]+]]:_(s16) = G_FPTRUNC [[COPY]](s64)32    ; CHECK-NEXT: $h0 = COPY [[FPTRUNC]](s16)33    ; CHECK-NEXT: RET_ReallyLR implicit $h034    %0:_(s64) = COPY $d035    %1:_(s16) = G_FPTRUNC %036    $h0 = COPY %1(s16)37    RET_ReallyLR implicit $h038...39---40name:            fptrunc_s32_s6441body:             |42  bb.0:43    liveins: $d044 45    ; CHECK-LABEL: name: fptrunc_s32_s6446    ; CHECK: liveins: $d047    ; CHECK-NEXT: {{  $}}48    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $d049    ; CHECK-NEXT: [[FPTRUNC:%[0-9]+]]:_(s32) = G_FPTRUNC [[COPY]](s64)50    ; CHECK-NEXT: $s0 = COPY [[FPTRUNC]](s32)51    ; CHECK-NEXT: RET_ReallyLR implicit $s052    %0:_(s64) = COPY $d053    %1:_(s32) = G_FPTRUNC %054    $s0 = COPY %1(s32)55    RET_ReallyLR implicit $s056...57---58name:            fptrunc_v4s16_v4s3259body:             |60  bb.0:61    liveins: $q062 63    ; CHECK-LABEL: name: fptrunc_v4s16_v4s3264    ; CHECK: liveins: $q065    ; CHECK-NEXT: {{  $}}66    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<4 x s32>) = COPY $q067    ; CHECK-NEXT: [[FPTRUNC:%[0-9]+]]:_(<4 x s16>) = G_FPTRUNC [[COPY]](<4 x s32>)68    ; CHECK-NEXT: $d0 = COPY [[FPTRUNC]](<4 x s16>)69    ; CHECK-NEXT: RET_ReallyLR implicit $d070    %0:_(<4 x s32>) = COPY $q071    %1:_(<4 x s16>) = G_FPTRUNC %072    $d0 = COPY %1(<4 x s16>)73    RET_ReallyLR implicit $d074...75---76name:            fptrunc_v2s16_v2s3277body:             |78  bb.0:79    liveins: $d080 81    ; CHECK-LABEL: name: fptrunc_v2s16_v2s3282    ; CHECK: liveins: $d083    ; CHECK-NEXT: {{  $}}84    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s32>) = COPY $d085    ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[COPY]](<2 x s32>)86    ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF87    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<4 x s32>) = G_BUILD_VECTOR [[UV]](s32), [[UV1]](s32), [[DEF]](s32), [[DEF]](s32)88    ; CHECK-NEXT: [[FPTRUNC:%[0-9]+]]:_(<4 x s16>) = G_FPTRUNC [[BUILD_VECTOR]](<4 x s32>)89    ; CHECK-NEXT: [[UV2:%[0-9]+]]:_(<2 x s16>), [[UV3:%[0-9]+]]:_(<2 x s16>) = G_UNMERGE_VALUES [[FPTRUNC]](<4 x s16>)90    ; CHECK-NEXT: $s0 = COPY [[UV2]](<2 x s16>)91    ; CHECK-NEXT: RET_ReallyLR implicit $s092    %0:_(<2 x s32>) = COPY $d093    %1:_(<2 x s16>) = G_FPTRUNC %094    $s0 = COPY %1(<2 x s16>)95    RET_ReallyLR implicit $s096...97---98name:            fptrunc_v4s32_v4s6499body:             |100  bb.0:101 102    ; CHECK-LABEL: name: fptrunc_v4s32_v4s64103    ; CHECK: [[DEF:%[0-9]+]]:_(<2 x s64>) = G_IMPLICIT_DEF104    ; CHECK-NEXT: [[FPTRUNC:%[0-9]+]]:_(<2 x s32>) = G_FPTRUNC [[DEF]](<2 x s64>)105    ; CHECK-NEXT: [[FPTRUNC1:%[0-9]+]]:_(<2 x s32>) = G_FPTRUNC [[DEF]](<2 x s64>)106    ; CHECK-NEXT: [[CONCAT_VECTORS:%[0-9]+]]:_(<4 x s32>) = G_CONCAT_VECTORS [[FPTRUNC]](<2 x s32>), [[FPTRUNC1]](<2 x s32>)107    ; CHECK-NEXT: $q0 = COPY [[CONCAT_VECTORS]](<4 x s32>)108    ; CHECK-NEXT: RET_ReallyLR implicit $q0109    %0:_(<4 x s64>) = G_IMPLICIT_DEF110    %1:_(<4 x s32>) = G_FPTRUNC %0111    $q0 = COPY %1(<4 x s32>)112    RET_ReallyLR implicit $q0113...114---115name:            fptrunc_v8s32_v8s64116body:             |117  bb.0:118 119    liveins: $x0, $q0, $q1, $q2, $q3, $x0120 121    ; CHECK-LABEL: name: fptrunc_v8s32_v8s64122    ; CHECK: liveins: $x0, $q0, $q1, $q2, $q3, $x0123    ; CHECK-NEXT: {{  $}}124    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<2 x s64>) = COPY $q0125    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(<2 x s64>) = COPY $q1126    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(<2 x s64>) = COPY $q2127    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:_(<2 x s64>) = COPY $q3128    ; CHECK-NEXT: [[COPY4:%[0-9]+]]:_(p0) = COPY $x0129    ; CHECK-NEXT: [[FPTRUNC:%[0-9]+]]:_(<2 x s32>) = G_FPTRUNC [[COPY]](<2 x s64>)130    ; CHECK-NEXT: [[FPTRUNC1:%[0-9]+]]:_(<2 x s32>) = G_FPTRUNC [[COPY1]](<2 x s64>)131    ; CHECK-NEXT: [[FPTRUNC2:%[0-9]+]]:_(<2 x s32>) = G_FPTRUNC [[COPY2]](<2 x s64>)132    ; CHECK-NEXT: [[FPTRUNC3:%[0-9]+]]:_(<2 x s32>) = G_FPTRUNC [[COPY3]](<2 x s64>)133    ; CHECK-NEXT: [[COPY5:%[0-9]+]]:_(p0) = COPY $x0134    ; CHECK-NEXT: [[CONCAT_VECTORS:%[0-9]+]]:_(<4 x s32>) = G_CONCAT_VECTORS [[FPTRUNC]](<2 x s32>), [[FPTRUNC1]](<2 x s32>)135    ; CHECK-NEXT: [[CONCAT_VECTORS1:%[0-9]+]]:_(<4 x s32>) = G_CONCAT_VECTORS [[FPTRUNC2]](<2 x s32>), [[FPTRUNC3]](<2 x s32>)136    ; CHECK-NEXT: G_STORE [[CONCAT_VECTORS]](<4 x s32>), [[COPY5]](p0) :: (store (<4 x s32>), align 32)137    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 16138    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD [[COPY5]], [[C]](s64)139    ; CHECK-NEXT: G_STORE [[CONCAT_VECTORS1]](<4 x s32>), [[PTR_ADD]](p0) :: (store (<4 x s32>) into unknown-address + 16)140    ; CHECK-NEXT: RET_ReallyLR141    %2:_(<2 x s64>) = COPY $q0142    %3:_(<2 x s64>) = COPY $q1143    %4:_(<2 x s64>) = COPY $q2144    %5:_(<2 x s64>) = COPY $q3145    %0:_(<8 x s64>) = G_CONCAT_VECTORS %2(<2 x s64>), %3(<2 x s64>), %4(<2 x s64>), %5(<2 x s64>)146    %1:_(p0) = COPY $x0147    %6:_(<8 x s32>) = G_FPTRUNC %0(<8 x s64>)148    %7:_(p0) = COPY $x0149    G_STORE %6(<8 x s32>), %7(p0) :: (store (<8 x s32>))150    RET_ReallyLR151...152