brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.8 KiB · 88bff66 Raw
227 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple aarch64-unknown-unknown -run-pass=legalizer -mattr=+fullfp16 -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=FP163# RUN: llc -mtriple aarch64-unknown-unknown -run-pass=legalizer -mattr=-fullfp16 -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=NO-FP164 5...6---7name:            test_v4f16.nearbyint8alignment:       49tracksRegLiveness: true10machineFunctionInfo: {}11body:             |12  bb.0:13    liveins: $d014 15    ; FP16-LABEL: name: test_v4f16.nearbyint16    ; FP16: liveins: $d017    ; FP16-NEXT: {{  $}}18    ; FP16-NEXT: [[COPY:%[0-9]+]]:_(<4 x s16>) = COPY $d019    ; FP16-NEXT: [[FNEARBYINT:%[0-9]+]]:_(<4 x s16>) = G_FNEARBYINT [[COPY]]20    ; FP16-NEXT: $d0 = COPY [[FNEARBYINT]](<4 x s16>)21    ; FP16-NEXT: RET_ReallyLR implicit $d022    ;23    ; NO-FP16-LABEL: name: test_v4f16.nearbyint24    ; NO-FP16: liveins: $d025    ; NO-FP16-NEXT: {{  $}}26    ; NO-FP16-NEXT: [[COPY:%[0-9]+]]:_(<4 x s16>) = COPY $d027    ; NO-FP16-NEXT: [[FPEXT:%[0-9]+]]:_(<4 x s32>) = G_FPEXT [[COPY]](<4 x s16>)28    ; NO-FP16-NEXT: [[FNEARBYINT:%[0-9]+]]:_(<4 x s32>) = G_FNEARBYINT [[FPEXT]]29    ; NO-FP16-NEXT: [[FPTRUNC:%[0-9]+]]:_(<4 x s16>) = G_FPTRUNC [[FNEARBYINT]](<4 x s32>)30    ; NO-FP16-NEXT: $d0 = COPY [[FPTRUNC]](<4 x s16>)31    ; NO-FP16-NEXT: RET_ReallyLR implicit $d032    %0:_(<4 x s16>) = COPY $d033    %1:_(<4 x s16>) = G_FNEARBYINT %034    $d0 = COPY %1(<4 x s16>)35    RET_ReallyLR implicit $d036 37...38---39name:            test_v8f16.nearbyint40alignment:       441tracksRegLiveness: true42machineFunctionInfo: {}43body:             |44  bb.0:45    liveins: $q046 47    ; FP16-LABEL: name: test_v8f16.nearbyint48    ; FP16: liveins: $q049    ; FP16-NEXT: {{  $}}50    ; FP16-NEXT: [[COPY:%[0-9]+]]:_(<8 x s16>) = COPY $q051    ; FP16-NEXT: [[FNEARBYINT:%[0-9]+]]:_(<8 x s16>) = G_FNEARBYINT [[COPY]]52    ; FP16-NEXT: $q0 = COPY [[FNEARBYINT]](<8 x s16>)53    ; FP16-NEXT: RET_ReallyLR implicit $q054    ;55    ; NO-FP16-LABEL: name: test_v8f16.nearbyint56    ; NO-FP16: liveins: $q057    ; NO-FP16-NEXT: {{  $}}58    ; NO-FP16-NEXT: [[COPY:%[0-9]+]]:_(<8 x s16>) = COPY $q059    ; NO-FP16-NEXT: [[UV:%[0-9]+]]:_(<4 x s16>), [[UV1:%[0-9]+]]:_(<4 x s16>) = G_UNMERGE_VALUES [[COPY]](<8 x s16>)60    ; NO-FP16-NEXT: [[FPEXT:%[0-9]+]]:_(<4 x s32>) = G_FPEXT [[UV]](<4 x s16>)61    ; NO-FP16-NEXT: [[FPEXT1:%[0-9]+]]:_(<4 x s32>) = G_FPEXT [[UV1]](<4 x s16>)62    ; NO-FP16-NEXT: [[FNEARBYINT:%[0-9]+]]:_(<4 x s32>) = G_FNEARBYINT [[FPEXT]]63    ; NO-FP16-NEXT: [[FNEARBYINT1:%[0-9]+]]:_(<4 x s32>) = G_FNEARBYINT [[FPEXT1]]64    ; NO-FP16-NEXT: [[FPTRUNC:%[0-9]+]]:_(<4 x s16>) = G_FPTRUNC [[FNEARBYINT]](<4 x s32>)65    ; NO-FP16-NEXT: [[FPTRUNC1:%[0-9]+]]:_(<4 x s16>) = G_FPTRUNC [[FNEARBYINT1]](<4 x s32>)66    ; NO-FP16-NEXT: [[CONCAT_VECTORS:%[0-9]+]]:_(<8 x s16>) = G_CONCAT_VECTORS [[FPTRUNC]](<4 x s16>), [[FPTRUNC1]](<4 x s16>)67    ; NO-FP16-NEXT: $q0 = COPY [[CONCAT_VECTORS]](<8 x s16>)68    ; NO-FP16-NEXT: RET_ReallyLR implicit $q069    %0:_(<8 x s16>) = COPY $q070    %1:_(<8 x s16>) = G_FNEARBYINT %071    $q0 = COPY %1(<8 x s16>)72    RET_ReallyLR implicit $q073 74...75---76name:            test_v2f32.nearbyint77alignment:       478tracksRegLiveness: true79machineFunctionInfo: {}80body:             |81  bb.0:82    liveins: $d083 84    ; FP16-LABEL: name: test_v2f32.nearbyint85    ; FP16: liveins: $d086    ; FP16-NEXT: {{  $}}87    ; FP16-NEXT: [[COPY:%[0-9]+]]:_(<2 x s32>) = COPY $d088    ; FP16-NEXT: [[FNEARBYINT:%[0-9]+]]:_(<2 x s32>) = G_FNEARBYINT [[COPY]]89    ; FP16-NEXT: $d0 = COPY [[FNEARBYINT]](<2 x s32>)90    ; FP16-NEXT: RET_ReallyLR implicit $d091    ;92    ; NO-FP16-LABEL: name: test_v2f32.nearbyint93    ; NO-FP16: liveins: $d094    ; NO-FP16-NEXT: {{  $}}95    ; NO-FP16-NEXT: [[COPY:%[0-9]+]]:_(<2 x s32>) = COPY $d096    ; NO-FP16-NEXT: [[FNEARBYINT:%[0-9]+]]:_(<2 x s32>) = G_FNEARBYINT [[COPY]]97    ; NO-FP16-NEXT: $d0 = COPY [[FNEARBYINT]](<2 x s32>)98    ; NO-FP16-NEXT: RET_ReallyLR implicit $d099    %0:_(<2 x s32>) = COPY $d0100    %1:_(<2 x s32>) = G_FNEARBYINT %0101    $d0 = COPY %1(<2 x s32>)102    RET_ReallyLR implicit $d0103 104...105---106name:            test_v2f64.nearbyint107alignment:       4108tracksRegLiveness: true109machineFunctionInfo: {}110body:             |111  bb.0:112    liveins: $q0113 114    ; FP16-LABEL: name: test_v2f64.nearbyint115    ; FP16: liveins: $q0116    ; FP16-NEXT: {{  $}}117    ; FP16-NEXT: [[COPY:%[0-9]+]]:_(<2 x s64>) = COPY $q0118    ; FP16-NEXT: [[FNEARBYINT:%[0-9]+]]:_(<2 x s64>) = G_FNEARBYINT [[COPY]]119    ; FP16-NEXT: $q0 = COPY [[FNEARBYINT]](<2 x s64>)120    ; FP16-NEXT: RET_ReallyLR implicit $q0121    ;122    ; NO-FP16-LABEL: name: test_v2f64.nearbyint123    ; NO-FP16: liveins: $q0124    ; NO-FP16-NEXT: {{  $}}125    ; NO-FP16-NEXT: [[COPY:%[0-9]+]]:_(<2 x s64>) = COPY $q0126    ; NO-FP16-NEXT: [[FNEARBYINT:%[0-9]+]]:_(<2 x s64>) = G_FNEARBYINT [[COPY]]127    ; NO-FP16-NEXT: $q0 = COPY [[FNEARBYINT]](<2 x s64>)128    ; NO-FP16-NEXT: RET_ReallyLR implicit $q0129    %0:_(<2 x s64>) = COPY $q0130    %1:_(<2 x s64>) = G_FNEARBYINT %0131    $q0 = COPY %1(<2 x s64>)132    RET_ReallyLR implicit $q0133 134...135---136name:            test_f32.nearbyint137alignment:       4138tracksRegLiveness: true139machineFunctionInfo: {}140body:             |141  bb.0:142    liveins: $s0143 144    ; FP16-LABEL: name: test_f32.nearbyint145    ; FP16: liveins: $s0146    ; FP16-NEXT: {{  $}}147    ; FP16-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0148    ; FP16-NEXT: [[FNEARBYINT:%[0-9]+]]:_(s32) = G_FNEARBYINT [[COPY]]149    ; FP16-NEXT: $s0 = COPY [[FNEARBYINT]](s32)150    ; FP16-NEXT: RET_ReallyLR implicit $s0151    ;152    ; NO-FP16-LABEL: name: test_f32.nearbyint153    ; NO-FP16: liveins: $s0154    ; NO-FP16-NEXT: {{  $}}155    ; NO-FP16-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0156    ; NO-FP16-NEXT: [[FNEARBYINT:%[0-9]+]]:_(s32) = G_FNEARBYINT [[COPY]]157    ; NO-FP16-NEXT: $s0 = COPY [[FNEARBYINT]](s32)158    ; NO-FP16-NEXT: RET_ReallyLR implicit $s0159    %0:_(s32) = COPY $s0160    %1:_(s32) = G_FNEARBYINT %0161    $s0 = COPY %1(s32)162    RET_ReallyLR implicit $s0163 164...165---166name:            test_f64.nearbyint167alignment:       4168tracksRegLiveness: true169machineFunctionInfo: {}170body:             |171  bb.0:172    liveins: $d0173 174    ; FP16-LABEL: name: test_f64.nearbyint175    ; FP16: liveins: $d0176    ; FP16-NEXT: {{  $}}177    ; FP16-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $d0178    ; FP16-NEXT: [[FNEARBYINT:%[0-9]+]]:_(s64) = G_FNEARBYINT [[COPY]]179    ; FP16-NEXT: $d0 = COPY [[FNEARBYINT]](s64)180    ; FP16-NEXT: RET_ReallyLR implicit $d0181    ;182    ; NO-FP16-LABEL: name: test_f64.nearbyint183    ; NO-FP16: liveins: $d0184    ; NO-FP16-NEXT: {{  $}}185    ; NO-FP16-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $d0186    ; NO-FP16-NEXT: [[FNEARBYINT:%[0-9]+]]:_(s64) = G_FNEARBYINT [[COPY]]187    ; NO-FP16-NEXT: $d0 = COPY [[FNEARBYINT]](s64)188    ; NO-FP16-NEXT: RET_ReallyLR implicit $d0189    %0:_(s64) = COPY $d0190    %1:_(s64) = G_FNEARBYINT %0191    $d0 = COPY %1(s64)192    RET_ReallyLR implicit $d0193 194...195---196name:            test_f16.nearbyint197alignment:       4198tracksRegLiveness: true199machineFunctionInfo: {}200body:             |201  bb.0:202    liveins: $h0203 204    ; FP16-LABEL: name: test_f16.nearbyint205    ; FP16: liveins: $h0206    ; FP16-NEXT: {{  $}}207    ; FP16-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $h0208    ; FP16-NEXT: [[FNEARBYINT:%[0-9]+]]:_(s16) = G_FNEARBYINT [[COPY]]209    ; FP16-NEXT: $h0 = COPY [[FNEARBYINT]](s16)210    ; FP16-NEXT: RET_ReallyLR implicit $h0211    ;212    ; NO-FP16-LABEL: name: test_f16.nearbyint213    ; NO-FP16: liveins: $h0214    ; NO-FP16-NEXT: {{  $}}215    ; NO-FP16-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $h0216    ; NO-FP16-NEXT: [[FPEXT:%[0-9]+]]:_(s32) = G_FPEXT [[COPY]](s16)217    ; NO-FP16-NEXT: [[FNEARBYINT:%[0-9]+]]:_(s32) = G_FNEARBYINT [[FPEXT]]218    ; NO-FP16-NEXT: [[FPTRUNC:%[0-9]+]]:_(s16) = G_FPTRUNC [[FNEARBYINT]](s32)219    ; NO-FP16-NEXT: $h0 = COPY [[FPTRUNC]](s16)220    ; NO-FP16-NEXT: RET_ReallyLR implicit $h0221    %0:_(s16) = COPY $h0222    %1:_(s16) = G_FNEARBYINT %0223    $h0 = COPY %1(s16)224    RET_ReallyLR implicit $h0225 226...227