brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.8 KiB · 9420461 Raw
120 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -o - -mtriple=aarch64-unknown-unknown -run-pass=aarch64-prelegalizer-combiner -verify-machineinstrs  %s | FileCheck %s --check-prefixes=CHECK3 4---5name:            test_fcmp_canon6body:             |7  bb.1:8    ; CHECK-LABEL: name: test_fcmp_canon9    ; CHECK: %lhs:_(s64) = G_FCONSTANT double 1.000000e+0010    ; CHECK-NEXT: %rhs:_(s64) = COPY $x011    ; CHECK-NEXT: %res:_(s32) = afn G_FCMP floatpred(ole), %rhs(s64), %lhs12    ; CHECK-NEXT: $w0 = COPY %res(s32)13    %lhs:_(s64) = G_FCONSTANT double 1.014    %rhs:_(s64) = COPY $x015    %res:_(s32) = afn G_FCMP floatpred(oge), %lhs(s64), %rhs16    $w0 = COPY %res(s32)17...18---19name:            test_fcmp_no_canon20body:             |21  bb.1:22    ; CHECK-LABEL: name: test_fcmp_no_canon23    ; CHECK: %lhs:_(s64) = COPY $x024    ; CHECK-NEXT: %rhs:_(s64) = G_FCONSTANT double 1.000000e+0025    ; CHECK-NEXT: %res:_(s32) = afn G_FCMP floatpred(oge), %lhs(s64), %rhs26    ; CHECK-NEXT: $w0 = COPY %res(s32)27    %lhs:_(s64) = COPY $x028    %rhs:_(s64) = G_FCONSTANT double 1.029    %res:_(s32) = afn G_FCMP floatpred(oge), %lhs(s64), %rhs30    $w0 = COPY %res(s32)31...32---33name:            test_fcmp_no_canon_bv34body:             |35  bb.1:36    ; CHECK-LABEL: name: test_fcmp_no_canon_bv37    ; CHECK: %opaque1:_(s64) = COPY $x038    ; CHECK-NEXT: %opaque2:_(s64) = COPY $x039    ; CHECK-NEXT: %const1:_(s64) = G_FCONSTANT double 1.000000e+0040    ; CHECK-NEXT: %const2:_(s64) = G_FCONSTANT double 2.000000e+0041    ; CHECK-NEXT: %lhs:_(<2 x s64>) = G_BUILD_VECTOR %const1(s64), %opaque2(s64)42    ; CHECK-NEXT: %rhs:_(<2 x s64>) = G_BUILD_VECTOR %opaque1(s64), %const2(s64)43    ; CHECK-NEXT: %res:_(<2 x s32>) = afn G_FCMP floatpred(oge), %lhs(<2 x s64>), %rhs44    ; CHECK-NEXT: $x0 = COPY %res(<2 x s32>)45    %opaque1:_(s64) = COPY $x046    %opaque2:_(s64) = COPY $x047    %const1:_(s64) = G_FCONSTANT double 1.048    %const2:_(s64) = G_FCONSTANT double 2.049    %lhs:_(<2 x s64>) = G_BUILD_VECTOR %const1(s64), %opaque2(s64)50    %rhs:_(<2 x s64>) = G_BUILD_VECTOR %opaque1(s64), %const2(s64)51    %res:_(<2 x s32>) = afn G_FCMP floatpred(oge), %lhs(<2 x s64>), %rhs52    $x0 = COPY %res(<2 x s32>)53...54---55name:            test_fcmp_canon_bv56body:             |57  bb.1:58    ; CHECK-LABEL: name: test_fcmp_canon_bv59    ; CHECK: %opaque1:_(s64) = COPY $x060    ; CHECK-NEXT: %opaque2:_(s64) = COPY $x061    ; CHECK-NEXT: %const1:_(s64) = G_FCONSTANT double 1.000000e+0062    ; CHECK-NEXT: %const2:_(s64) = G_FCONSTANT double 2.000000e+0063    ; CHECK-NEXT: %lhs:_(<2 x s64>) = G_BUILD_VECTOR %const1(s64), %const2(s64)64    ; CHECK-NEXT: %rhs:_(<2 x s64>) = G_BUILD_VECTOR %opaque1(s64), %opaque2(s64)65    ; CHECK-NEXT: %res:_(<2 x s32>) = afn G_FCMP floatpred(ole), %rhs(<2 x s64>), %lhs66    ; CHECK-NEXT: $x0 = COPY %res(<2 x s32>)67    %opaque1:_(s64) = COPY $x068    %opaque2:_(s64) = COPY $x069    %const1:_(s64) = G_FCONSTANT double 1.070    %const2:_(s64) = G_FCONSTANT double 2.071    %lhs:_(<2 x s64>) = G_BUILD_VECTOR %const1(s64), %const2(s64)72    %rhs:_(<2 x s64>) = G_BUILD_VECTOR %opaque1(s64), %opaque2(s64)73    %res:_(<2 x s32>) = afn G_FCMP floatpred(oge), %lhs(<2 x s64>), %rhs74    $x0 = COPY %res(<2 x s32>)75...76---77name:            test_fcmp_canon_splat78body:             |79  bb.1:80    ; CHECK-LABEL: name: test_fcmp_canon_splat81    ; CHECK: %const:_(s64) = G_FCONSTANT double 1.000000e+0082    ; CHECK-NEXT: %lhs:_(<vscale x 2 x s64>) = G_SPLAT_VECTOR %const(s64)83    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x184    ; CHECK-NEXT: %rhs:_(<vscale x 2 x s64>) = G_SPLAT_VECTOR [[COPY]](s64)85    ; CHECK-NEXT: %res:_(<vscale x 2 x s32>) = afn G_FCMP floatpred(ole), %rhs(<vscale x 2 x s64>), %lhs86    ; CHECK-NEXT: %z:_(<vscale x 2 x s64>) = G_ZEXT %res(<vscale x 2 x s32>)87    ; CHECK-NEXT: $z0 = COPY %z(<vscale x 2 x s64>)88    %const:_(s64) = G_FCONSTANT double 1.089    %lhs:_(<vscale x 2 x s64>) = G_SPLAT_VECTOR %const:_(s64)90    %1:_(s64) = COPY $x191    %rhs:_(<vscale x 2 x s64>) = G_SPLAT_VECTOR %1:_(s64)92    %res:_(<vscale x 2 x s32>) = afn G_FCMP floatpred(oge), %lhs(<vscale x 2 x s64>), %rhs93    %z:_(<vscale x 2 x s64>) = G_ZEXT  %res94    $z0 = COPY %z(<vscale x 2 x s64>)95...96---97name:            test_fcmp_const98body:             |99  bb.1:100    ; CHECK-LABEL: name: test_fcmp_const101    ; CHECK: %res:_(s32) = G_CONSTANT i32 0102    ; CHECK-NEXT: $w0 = COPY %res(s32)103    %lhs:_(s64) = G_FCONSTANT double 1.0104    %rhs:_(s64) = G_FCONSTANT double 2.0105    %res:_(s32) = afn G_FCMP floatpred(oge), %lhs(s64), %rhs106    $w0 = COPY %res(s32)107...108---109name:            test_fcmp_const_other110body:             |111  bb.1:112    ; CHECK-LABEL: name: test_fcmp_const_other113    ; CHECK: %res:_(s32) = G_CONSTANT i32 1114    ; CHECK-NEXT: $w0 = COPY %res(s32)115    %lhs:_(s64) = G_FCONSTANT double 2.0116    %rhs:_(s64) = G_FCONSTANT double 1.0117    %res:_(s32) = afn G_FCMP floatpred(oge), %lhs(s64), %rhs118    $w0 = COPY %res(s32)119...120