brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.9 KiB · 655b3b9 Raw
172 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 -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=NO-FP164...5---6name:            s16_legal_with_full_fp167alignment:       48body:             |9  bb.0:10    liveins: $h0, $h111    ; FP16-LABEL: name: s16_legal_with_full_fp1612    ; FP16: liveins: $h0, $h113    ; FP16-NEXT: {{  $}}14    ; FP16-NEXT: %a:_(s16) = COPY $h015    ; FP16-NEXT: %b:_(s16) = COPY $h116    ; FP16-NEXT: %legalize_me:_(s16) = G_FMINIMUM %a, %b17    ; FP16-NEXT: $h0 = COPY %legalize_me(s16)18    ; FP16-NEXT: RET_ReallyLR implicit $h019    ;20    ; NO-FP16-LABEL: name: s16_legal_with_full_fp1621    ; NO-FP16: liveins: $h0, $h122    ; NO-FP16-NEXT: {{  $}}23    ; NO-FP16-NEXT: %a:_(s16) = COPY $h024    ; NO-FP16-NEXT: %b:_(s16) = COPY $h125    ; NO-FP16-NEXT: [[FPEXT:%[0-9]+]]:_(s32) = G_FPEXT %a(s16)26    ; NO-FP16-NEXT: [[FPEXT1:%[0-9]+]]:_(s32) = G_FPEXT %b(s16)27    ; NO-FP16-NEXT: [[FMINIMUM:%[0-9]+]]:_(s32) = G_FMINIMUM [[FPEXT]], [[FPEXT1]]28    ; NO-FP16-NEXT: %legalize_me:_(s16) = G_FPTRUNC [[FMINIMUM]](s32)29    ; NO-FP16-NEXT: $h0 = COPY %legalize_me(s16)30    ; NO-FP16-NEXT: RET_ReallyLR implicit $h031    %a:_(s16) = COPY $h032    %b:_(s16) = COPY $h133    %legalize_me:_(s16) = G_FMINIMUM %a, %b34    $h0 = COPY %legalize_me(s16)35    RET_ReallyLR implicit $h036 37...38---39name:            s32_legal40alignment:       441body:             |42  bb.0:43    liveins: $s0, $s144    ; FP16-LABEL: name: s32_legal45    ; FP16: liveins: $s0, $s146    ; FP16-NEXT: {{  $}}47    ; FP16-NEXT: %a:_(s32) = COPY $s048    ; FP16-NEXT: %b:_(s32) = COPY $s149    ; FP16-NEXT: %legalize_me:_(s32) = G_FMINIMUM %a, %b50    ; FP16-NEXT: $s0 = COPY %legalize_me(s32)51    ; FP16-NEXT: RET_ReallyLR implicit $s052    ;53    ; NO-FP16-LABEL: name: s32_legal54    ; NO-FP16: liveins: $s0, $s155    ; NO-FP16-NEXT: {{  $}}56    ; NO-FP16-NEXT: %a:_(s32) = COPY $s057    ; NO-FP16-NEXT: %b:_(s32) = COPY $s158    ; NO-FP16-NEXT: %legalize_me:_(s32) = G_FMINIMUM %a, %b59    ; NO-FP16-NEXT: $s0 = COPY %legalize_me(s32)60    ; NO-FP16-NEXT: RET_ReallyLR implicit $s061    %a:_(s32) = COPY $s062    %b:_(s32) = COPY $s163    %legalize_me:_(s32) = G_FMINIMUM %a, %b64    $s0 = COPY %legalize_me(s32)65    RET_ReallyLR implicit $s066 67...68---69name:            s64_legal70alignment:       471body:             |72  bb.0:73    liveins: $d0, $d174    ; FP16-LABEL: name: s64_legal75    ; FP16: liveins: $d0, $d176    ; FP16-NEXT: {{  $}}77    ; FP16-NEXT: %a:_(s64) = COPY $d078    ; FP16-NEXT: %b:_(s64) = COPY $d179    ; FP16-NEXT: %legalize_me:_(s64) = G_FMINIMUM %a, %b80    ; FP16-NEXT: $d0 = COPY %legalize_me(s64)81    ; FP16-NEXT: RET_ReallyLR implicit $d082    ;83    ; NO-FP16-LABEL: name: s64_legal84    ; NO-FP16: liveins: $d0, $d185    ; NO-FP16-NEXT: {{  $}}86    ; NO-FP16-NEXT: %a:_(s64) = COPY $d087    ; NO-FP16-NEXT: %b:_(s64) = COPY $d188    ; NO-FP16-NEXT: %legalize_me:_(s64) = G_FMINIMUM %a, %b89    ; NO-FP16-NEXT: $d0 = COPY %legalize_me(s64)90    ; NO-FP16-NEXT: RET_ReallyLR implicit $d091    %a:_(s64) = COPY $d092    %b:_(s64) = COPY $d193    %legalize_me:_(s64) = G_FMINIMUM %a, %b94    $d0 = COPY %legalize_me(s64)95    RET_ReallyLR implicit $d096...97---98name:            v4s3299alignment:       4100body:             |101  bb.0:102    liveins: $q0, $q1103    ; FP16-LABEL: name: v4s32104    ; FP16: liveins: $q0, $q1105    ; FP16-NEXT: {{  $}}106    ; FP16-NEXT: %a:_(<4 x s32>) = COPY $q0107    ; FP16-NEXT: %b:_(<4 x s32>) = COPY $q1108    ; FP16-NEXT: %minimum:_(<4 x s32>) = G_FMINIMUM %a, %b109    ; FP16-NEXT: $q0 = COPY %minimum(<4 x s32>)110    ; FP16-NEXT: RET_ReallyLR implicit $q0111    ;112    ; NO-FP16-LABEL: name: v4s32113    ; NO-FP16: liveins: $q0, $q1114    ; NO-FP16-NEXT: {{  $}}115    ; NO-FP16-NEXT: %a:_(<4 x s32>) = COPY $q0116    ; NO-FP16-NEXT: %b:_(<4 x s32>) = COPY $q1117    ; NO-FP16-NEXT: %minimum:_(<4 x s32>) = G_FMINIMUM %a, %b118    ; NO-FP16-NEXT: $q0 = COPY %minimum(<4 x s32>)119    ; NO-FP16-NEXT: RET_ReallyLR implicit $q0120    %a:_(<4 x s32>) = COPY $q0121    %b:_(<4 x s32>) = COPY $q1122    %minimum:_(<4 x s32>) = G_FMINIMUM %a, %b123    $q0 = COPY %minimum(<4 x s32>)124    RET_ReallyLR implicit $q0125 126...127 128---129name:            v8s32130alignment:       4131body:             |132  bb.0:133    liveins: $q0, $q1, $q2, $q3134    ; FP16-LABEL: name: v8s32135    ; FP16: liveins: $q0, $q1, $q2, $q3136    ; FP16-NEXT: {{  $}}137    ; FP16-NEXT: %a:_(<4 x s32>) = COPY $q0138    ; FP16-NEXT: %b:_(<4 x s32>) = COPY $q1139    ; FP16-NEXT: %c:_(<4 x s32>) = COPY $q2140    ; FP16-NEXT: %d:_(<4 x s32>) = COPY $q3141    ; FP16-NEXT: [[FMINIMUM:%[0-9]+]]:_(<4 x s32>) = G_FMINIMUM %a, %c142    ; FP16-NEXT: [[FMINIMUM1:%[0-9]+]]:_(<4 x s32>) = G_FMINIMUM %b, %d143    ; FP16-NEXT: $q0 = COPY [[FMINIMUM]](<4 x s32>)144    ; FP16-NEXT: $q1 = COPY [[FMINIMUM1]](<4 x s32>)145    ; FP16-NEXT: RET_ReallyLR implicit $q0146    ;147    ; NO-FP16-LABEL: name: v8s32148    ; NO-FP16: liveins: $q0, $q1, $q2, $q3149    ; NO-FP16-NEXT: {{  $}}150    ; NO-FP16-NEXT: %a:_(<4 x s32>) = COPY $q0151    ; NO-FP16-NEXT: %b:_(<4 x s32>) = COPY $q1152    ; NO-FP16-NEXT: %c:_(<4 x s32>) = COPY $q2153    ; NO-FP16-NEXT: %d:_(<4 x s32>) = COPY $q3154    ; NO-FP16-NEXT: [[FMINIMUM:%[0-9]+]]:_(<4 x s32>) = G_FMINIMUM %a, %c155    ; NO-FP16-NEXT: [[FMINIMUM1:%[0-9]+]]:_(<4 x s32>) = G_FMINIMUM %b, %d156    ; NO-FP16-NEXT: $q0 = COPY [[FMINIMUM]](<4 x s32>)157    ; NO-FP16-NEXT: $q1 = COPY [[FMINIMUM1]](<4 x s32>)158    ; NO-FP16-NEXT: RET_ReallyLR implicit $q0159    %a:_(<4 x s32>) = COPY $q0160    %b:_(<4 x s32>) = COPY $q1161    %c:_(<4 x s32>) = COPY $q2162    %d:_(<4 x s32>) = COPY $q3163    %v1:_(<8 x s32>) = G_CONCAT_VECTORS %a, %b164    %v2:_(<8 x s32>) = G_CONCAT_VECTORS %c, %d165    %minimum:_(<8 x s32>) = G_FMINIMUM %v1, %v2166    %uv1:_(<4 x s32>), %uv2:_(<4 x s32>) = G_UNMERGE_VALUES %minimum167    $q0 = COPY %uv1(<4 x s32>)168    $q1 = COPY %uv2(<4 x s32>)169    RET_ReallyLR implicit $q0170 171...172