brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.3 KiB · 629a2f8 Raw
193 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc %s -verify-machineinstrs -mtriple=aarch64-unknown-unknown -run-pass=legalizer -simplify-mir -aarch64-neon-syntax=apple -mattr=-fullfp16 -o - | FileCheck %s --check-prefix=NO-FP163# RUN: llc %s -verify-machineinstrs -mtriple=aarch64-unknown-unknown -run-pass=legalizer -simplify-mir -aarch64-neon-syntax=apple -mattr=+fullfp16 -o - | FileCheck %s --check-prefix=FP164 5...6---7name:            test_f16.intrinsic_trunc8alignment:       49tracksRegLiveness: true10body:             |11  bb.0:12    liveins: $h013    ; NO-FP16-LABEL: name: test_f16.intrinsic_trunc14    ; NO-FP16: liveins: $h015    ; NO-FP16-NEXT: {{  $}}16    ; NO-FP16-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $h017    ; NO-FP16-NEXT: [[FPEXT:%[0-9]+]]:_(s32) = G_FPEXT [[COPY]](s16)18    ; NO-FP16-NEXT: [[INTRINSIC_TRUNC:%[0-9]+]]:_(s32) = G_INTRINSIC_TRUNC [[FPEXT]]19    ; NO-FP16-NEXT: [[FPTRUNC:%[0-9]+]]:_(s16) = G_FPTRUNC [[INTRINSIC_TRUNC]](s32)20    ; NO-FP16-NEXT: $h0 = COPY [[FPTRUNC]](s16)21    ; NO-FP16-NEXT: RET_ReallyLR implicit $h022    ;23    ; FP16-LABEL: name: test_f16.intrinsic_trunc24    ; FP16: liveins: $h025    ; FP16-NEXT: {{  $}}26    ; FP16-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $h027    ; FP16-NEXT: [[INTRINSIC_TRUNC:%[0-9]+]]:_(s16) = G_INTRINSIC_TRUNC [[COPY]]28    ; FP16-NEXT: $h0 = COPY [[INTRINSIC_TRUNC]](s16)29    ; FP16-NEXT: RET_ReallyLR implicit $h030    %0:_(s16) = COPY $h031    %1:_(s16) = G_INTRINSIC_TRUNC %032    $h0 = COPY %1(s16)33    RET_ReallyLR implicit $h034 35...36---37name:            test_v4f16.intrinsic_trunc38alignment:       439tracksRegLiveness: true40machineFunctionInfo: {}41body:             |42  bb.0:43    liveins: $d044 45    ; NO-FP16-LABEL: name: test_v4f16.intrinsic_trunc46    ; NO-FP16: liveins: $d047    ; NO-FP16-NEXT: {{  $}}48    ; NO-FP16-NEXT: [[COPY:%[0-9]+]]:_(<4 x s16>) = COPY $d049    ; NO-FP16-NEXT: [[FPEXT:%[0-9]+]]:_(<4 x s32>) = G_FPEXT [[COPY]](<4 x s16>)50    ; NO-FP16-NEXT: [[INTRINSIC_TRUNC:%[0-9]+]]:_(<4 x s32>) = G_INTRINSIC_TRUNC [[FPEXT]]51    ; NO-FP16-NEXT: [[FPTRUNC:%[0-9]+]]:_(<4 x s16>) = G_FPTRUNC [[INTRINSIC_TRUNC]](<4 x s32>)52    ; NO-FP16-NEXT: $d0 = COPY [[FPTRUNC]](<4 x s16>)53    ; NO-FP16-NEXT: RET_ReallyLR implicit $d054    ;55    ; FP16-LABEL: name: test_v4f16.intrinsic_trunc56    ; FP16: liveins: $d057    ; FP16-NEXT: {{  $}}58    ; FP16-NEXT: [[COPY:%[0-9]+]]:_(<4 x s16>) = COPY $d059    ; FP16-NEXT: [[INTRINSIC_TRUNC:%[0-9]+]]:_(<4 x s16>) = G_INTRINSIC_TRUNC [[COPY]]60    ; FP16-NEXT: $d0 = COPY [[INTRINSIC_TRUNC]](<4 x s16>)61    ; FP16-NEXT: RET_ReallyLR implicit $d062    %0:_(<4 x s16>) = COPY $d063    %1:_(<4 x s16>) = G_INTRINSIC_TRUNC %064    $d0 = COPY %1(<4 x s16>)65    RET_ReallyLR implicit $d066 67...68---69name:            test_v8f16.intrinsic_trunc70alignment:       471tracksRegLiveness: true72machineFunctionInfo: {}73body:             |74  bb.0:75    liveins: $q076 77    ; NO-FP16-LABEL: name: test_v8f16.intrinsic_trunc78    ; NO-FP16: liveins: $q079    ; NO-FP16-NEXT: {{  $}}80    ; NO-FP16-NEXT: [[COPY:%[0-9]+]]:_(<8 x s16>) = COPY $q081    ; NO-FP16-NEXT: [[UV:%[0-9]+]]:_(<4 x s16>), [[UV1:%[0-9]+]]:_(<4 x s16>) = G_UNMERGE_VALUES [[COPY]](<8 x s16>)82    ; NO-FP16-NEXT: [[FPEXT:%[0-9]+]]:_(<4 x s32>) = G_FPEXT [[UV]](<4 x s16>)83    ; NO-FP16-NEXT: [[FPEXT1:%[0-9]+]]:_(<4 x s32>) = G_FPEXT [[UV1]](<4 x s16>)84    ; NO-FP16-NEXT: [[INTRINSIC_TRUNC:%[0-9]+]]:_(<4 x s32>) = G_INTRINSIC_TRUNC [[FPEXT]]85    ; NO-FP16-NEXT: [[INTRINSIC_TRUNC1:%[0-9]+]]:_(<4 x s32>) = G_INTRINSIC_TRUNC [[FPEXT1]]86    ; NO-FP16-NEXT: [[FPTRUNC:%[0-9]+]]:_(<4 x s16>) = G_FPTRUNC [[INTRINSIC_TRUNC]](<4 x s32>)87    ; NO-FP16-NEXT: [[FPTRUNC1:%[0-9]+]]:_(<4 x s16>) = G_FPTRUNC [[INTRINSIC_TRUNC1]](<4 x s32>)88    ; NO-FP16-NEXT: [[CONCAT_VECTORS:%[0-9]+]]:_(<8 x s16>) = G_CONCAT_VECTORS [[FPTRUNC]](<4 x s16>), [[FPTRUNC1]](<4 x s16>)89    ; NO-FP16-NEXT: $q0 = COPY [[CONCAT_VECTORS]](<8 x s16>)90    ; NO-FP16-NEXT: RET_ReallyLR implicit $q091    ;92    ; FP16-LABEL: name: test_v8f16.intrinsic_trunc93    ; FP16: liveins: $q094    ; FP16-NEXT: {{  $}}95    ; FP16-NEXT: [[COPY:%[0-9]+]]:_(<8 x s16>) = COPY $q096    ; FP16-NEXT: [[INTRINSIC_TRUNC:%[0-9]+]]:_(<8 x s16>) = G_INTRINSIC_TRUNC [[COPY]]97    ; FP16-NEXT: $q0 = COPY [[INTRINSIC_TRUNC]](<8 x s16>)98    ; FP16-NEXT: RET_ReallyLR implicit $q099    %0:_(<8 x s16>) = COPY $q0100    %1:_(<8 x s16>) = G_INTRINSIC_TRUNC %0101    $q0 = COPY %1(<8 x s16>)102    RET_ReallyLR implicit $q0103 104...105---106name:            test_v2f32.intrinsic_trunc107alignment:       4108tracksRegLiveness: true109machineFunctionInfo: {}110body:             |111  bb.0:112    liveins: $d0113 114    ; NO-FP16-LABEL: name: test_v2f32.intrinsic_trunc115    ; NO-FP16: liveins: $d0116    ; NO-FP16-NEXT: {{  $}}117    ; NO-FP16-NEXT: [[COPY:%[0-9]+]]:_(<2 x s32>) = COPY $d0118    ; NO-FP16-NEXT: [[INTRINSIC_TRUNC:%[0-9]+]]:_(<2 x s32>) = G_INTRINSIC_TRUNC [[COPY]]119    ; NO-FP16-NEXT: $d0 = COPY [[INTRINSIC_TRUNC]](<2 x s32>)120    ; NO-FP16-NEXT: RET_ReallyLR implicit $d0121    ;122    ; FP16-LABEL: name: test_v2f32.intrinsic_trunc123    ; FP16: liveins: $d0124    ; FP16-NEXT: {{  $}}125    ; FP16-NEXT: [[COPY:%[0-9]+]]:_(<2 x s32>) = COPY $d0126    ; FP16-NEXT: [[INTRINSIC_TRUNC:%[0-9]+]]:_(<2 x s32>) = G_INTRINSIC_TRUNC [[COPY]]127    ; FP16-NEXT: $d0 = COPY [[INTRINSIC_TRUNC]](<2 x s32>)128    ; FP16-NEXT: RET_ReallyLR implicit $d0129    %0:_(<2 x s32>) = COPY $d0130    %1:_(<2 x s32>) = G_INTRINSIC_TRUNC %0131    $d0 = COPY %1(<2 x s32>)132    RET_ReallyLR implicit $d0133 134...135---136name:            test_v4f32.intrinsic_trunc137alignment:       4138tracksRegLiveness: true139machineFunctionInfo: {}140body:             |141  bb.0:142    liveins: $q0143 144    ; NO-FP16-LABEL: name: test_v4f32.intrinsic_trunc145    ; NO-FP16: liveins: $q0146    ; NO-FP16-NEXT: {{  $}}147    ; NO-FP16-NEXT: [[COPY:%[0-9]+]]:_(<4 x s32>) = COPY $q0148    ; NO-FP16-NEXT: [[INTRINSIC_TRUNC:%[0-9]+]]:_(<4 x s32>) = G_INTRINSIC_TRUNC [[COPY]]149    ; NO-FP16-NEXT: $q0 = COPY [[INTRINSIC_TRUNC]](<4 x s32>)150    ; NO-FP16-NEXT: RET_ReallyLR implicit $q0151    ;152    ; FP16-LABEL: name: test_v4f32.intrinsic_trunc153    ; FP16: liveins: $q0154    ; FP16-NEXT: {{  $}}155    ; FP16-NEXT: [[COPY:%[0-9]+]]:_(<4 x s32>) = COPY $q0156    ; FP16-NEXT: [[INTRINSIC_TRUNC:%[0-9]+]]:_(<4 x s32>) = G_INTRINSIC_TRUNC [[COPY]]157    ; FP16-NEXT: $q0 = COPY [[INTRINSIC_TRUNC]](<4 x s32>)158    ; FP16-NEXT: RET_ReallyLR implicit $q0159    %0:_(<4 x s32>) = COPY $q0160    %1:_(<4 x s32>) = G_INTRINSIC_TRUNC %0161    $q0 = COPY %1(<4 x s32>)162    RET_ReallyLR implicit $q0163 164...165---166name:            test_v2f64.intrinsic_trunc167alignment:       4168tracksRegLiveness: true169machineFunctionInfo: {}170body:             |171  bb.0:172    liveins: $q0173 174    ; NO-FP16-LABEL: name: test_v2f64.intrinsic_trunc175    ; NO-FP16: liveins: $q0176    ; NO-FP16-NEXT: {{  $}}177    ; NO-FP16-NEXT: [[COPY:%[0-9]+]]:_(<2 x s64>) = COPY $q0178    ; NO-FP16-NEXT: [[INTRINSIC_TRUNC:%[0-9]+]]:_(<2 x s64>) = G_INTRINSIC_TRUNC [[COPY]]179    ; NO-FP16-NEXT: $q0 = COPY [[INTRINSIC_TRUNC]](<2 x s64>)180    ; NO-FP16-NEXT: RET_ReallyLR implicit $q0181    ;182    ; FP16-LABEL: name: test_v2f64.intrinsic_trunc183    ; FP16: liveins: $q0184    ; FP16-NEXT: {{  $}}185    ; FP16-NEXT: [[COPY:%[0-9]+]]:_(<2 x s64>) = COPY $q0186    ; FP16-NEXT: [[INTRINSIC_TRUNC:%[0-9]+]]:_(<2 x s64>) = G_INTRINSIC_TRUNC [[COPY]]187    ; FP16-NEXT: $q0 = COPY [[INTRINSIC_TRUNC]](<2 x s64>)188    ; FP16-NEXT: RET_ReallyLR implicit $q0189    %0:_(<2 x s64>) = COPY $q0190    %1:_(<2 x s64>) = G_INTRINSIC_TRUNC %0191    $q0 = COPY %1(<2 x s64>)192    RET_ReallyLR implicit $q0193