brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · 5ccb628 Raw
69 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 22# RUN: llc -mtriple=arm64-unknown-unknown -global-isel -O0 -mattr=-fullfp16 -run-pass=legalizer %s -o - | FileCheck %s3 4--- |5  define <8 x half> @test_v8f16.sqrt(<8 x half> %a) {6    ret <8 x half> %a7  }8 9  define <4 x half> @test_v4f16.sqrt(<4 x half> %a) {10    ret <4 x half> %a11  }12 13...14---15name:            test_v8f16.sqrt16alignment:       417tracksRegLiveness: true18registers:19  - { id: 0, class: _ }20  - { id: 1, class: _ }21body:             |22  bb.1 (%ir-block.0):23    liveins: $q024    ; CHECK-LABEL: name: test_v8f16.sqrt25    ; CHECK: liveins: $q026    ; CHECK-NEXT: {{  $}}27    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<8 x s16>) = COPY $q028    ; CHECK-NEXT: [[UV:%[0-9]+]]:_(<4 x s16>), [[UV1:%[0-9]+]]:_(<4 x s16>) = G_UNMERGE_VALUES [[COPY]](<8 x s16>)29    ; CHECK-NEXT: [[FPEXT:%[0-9]+]]:_(<4 x s32>) = G_FPEXT [[UV]](<4 x s16>)30    ; CHECK-NEXT: [[FPEXT1:%[0-9]+]]:_(<4 x s32>) = G_FPEXT [[UV1]](<4 x s16>)31    ; CHECK-NEXT: [[FSQRT:%[0-9]+]]:_(<4 x s32>) = G_FSQRT [[FPEXT]]32    ; CHECK-NEXT: [[FSQRT1:%[0-9]+]]:_(<4 x s32>) = G_FSQRT [[FPEXT1]]33    ; CHECK-NEXT: [[FPTRUNC:%[0-9]+]]:_(<4 x s16>) = G_FPTRUNC [[FSQRT]](<4 x s32>)34    ; CHECK-NEXT: [[FPTRUNC1:%[0-9]+]]:_(<4 x s16>) = G_FPTRUNC [[FSQRT1]](<4 x s32>)35    ; CHECK-NEXT: [[CONCAT_VECTORS:%[0-9]+]]:_(<8 x s16>) = G_CONCAT_VECTORS [[FPTRUNC]](<4 x s16>), [[FPTRUNC1]](<4 x s16>)36    ; CHECK-NEXT: $q0 = COPY [[CONCAT_VECTORS]](<8 x s16>)37    ; CHECK-NEXT: RET_ReallyLR implicit $q038    %0:_(<8 x s16>) = COPY $q039    %1:_(<8 x s16>) = G_FSQRT %040    $q0 = COPY %1(<8 x s16>)41    RET_ReallyLR implicit $q042 43...44---45name:            test_v4f16.sqrt46alignment:       447tracksRegLiveness: true48registers:49  - { id: 0, class: _ }50  - { id: 1, class: _ }51body:             |52  bb.1 (%ir-block.0):53    liveins: $d054    ; CHECK-LABEL: name: test_v4f16.sqrt55    ; CHECK: liveins: $d056    ; CHECK-NEXT: {{  $}}57    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<4 x s16>) = COPY $d058    ; CHECK-NEXT: [[FPEXT:%[0-9]+]]:_(<4 x s32>) = G_FPEXT [[COPY]](<4 x s16>)59    ; CHECK-NEXT: [[FSQRT:%[0-9]+]]:_(<4 x s32>) = G_FSQRT [[FPEXT]]60    ; CHECK-NEXT: [[FPTRUNC:%[0-9]+]]:_(<4 x s16>) = G_FPTRUNC [[FSQRT]](<4 x s32>)61    ; CHECK-NEXT: $d0 = COPY [[FPTRUNC]](<4 x s16>)62    ; CHECK-NEXT: RET_ReallyLR implicit $d063    %0:_(<4 x s16>) = COPY $d064    %1:_(<4 x s16>) = G_FSQRT %065    $d0 = COPY %1(<4 x s16>)66    RET_ReallyLR implicit $d067 68...69