brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · 104575a Raw
74 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64 -run-pass=regbankselect -verify-machineinstrs %s -o - | FileCheck %s3#4# Verify register banks for intrinsics with known constraints. (E.g. all5# operands must be FPRs.6#7 8...9---10name:            uaddlv_fpr11alignment:       412legalized:       true13tracksRegLiveness: true14body:             |15  bb.0:16    liveins: $q017 18    ; CHECK-LABEL: name: uaddlv_fpr19    ; CHECK: liveins: $q020    ; CHECK-NEXT: {{  $}}21    ; CHECK-NEXT: %copy:fpr(<16 x s8>) = COPY $q022    ; CHECK-NEXT: %intrin:fpr(s32) = G_INTRINSIC intrinsic(@llvm.aarch64.neon.uaddlv), %copy(<16 x s8>)23    ; CHECK-NEXT: $w0 = COPY %intrin(s32)24    ; CHECK-NEXT: RET_ReallyLR implicit $w025    %copy:_(<16 x s8>) = COPY $q026    %intrin:_(s32) = G_INTRINSIC intrinsic(@llvm.aarch64.neon.uaddlv), %copy(<16 x s8>)27    $w0 = COPY %intrin(s32)28    RET_ReallyLR implicit $w029 30...31---32name:            uaddlv_fpr_load33alignment:       434legalized:       true35tracksRegLiveness: true36body:             |37  bb.0:38    liveins: $x039    ; CHECK-LABEL: name: uaddlv_fpr_load40    ; CHECK: liveins: $x041    ; CHECK-NEXT: {{  $}}42    ; CHECK-NEXT: %ptr:gpr(p0) = COPY $x043    ; CHECK-NEXT: %load:fpr(<2 x s32>) = G_LOAD %ptr(p0) :: (load (<2 x s32>))44    ; CHECK-NEXT: %intrin:fpr(s32) = G_INTRINSIC intrinsic(@llvm.aarch64.neon.uaddlv), %load(<2 x s32>)45    ; CHECK-NEXT: $w0 = COPY %intrin(s32)46    ; CHECK-NEXT: RET_ReallyLR implicit $w047    %ptr:_(p0) = COPY $x048    %load:_(<2 x s32>) = G_LOAD %ptr :: (load (<2 x s32>))49    %intrin:_(s32) = G_INTRINSIC intrinsic(@llvm.aarch64.neon.uaddlv), %load(<2 x s32>)50    $w0 = COPY %intrin(s32)51    RET_ReallyLR implicit $w052 53...54---55name:            uaddlv_fpr_store56alignment:       457legalized:       true58tracksRegLiveness: true59body:             |60  bb.0:61    liveins: $x0, $x162    ; CHECK-LABEL: name: uaddlv_fpr_store63    ; CHECK: liveins: $x0, $x164    ; CHECK-NEXT: {{  $}}65    ; CHECK-NEXT: %copy:gpr(<2 x s32>) = COPY $x066    ; CHECK-NEXT: %ptr:gpr(p0) = COPY $x067    ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr(<2 x s32>) = COPY %copy(<2 x s32>)68    ; CHECK-NEXT: %intrin:fpr(s32) = G_INTRINSIC intrinsic(@llvm.aarch64.neon.uaddlv), [[COPY]](<2 x s32>)69    ; CHECK-NEXT: G_STORE %intrin(s32), %ptr(p0) :: (store (s32))70    %copy:_(<2 x s32>) = COPY $x071    %ptr:_(p0) = COPY $x072    %intrin:_(s32) = G_INTRINSIC intrinsic(@llvm.aarch64.neon.uaddlv), %copy(<2 x s32>)73    G_STORE %intrin, %ptr :: (store (s32))74