brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.2 KiB · c967e4f Raw
241 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 22# RUN: llc -mtriple aarch64 -run-pass=aarch64-prelegalizer-combiner -verify-machineinstrs %s -o - | FileCheck %s3---4name:            cfb_lhs5tracksRegLiveness: true6body:             |7  bb.1:8    liveins: $w09 10    ; CHECK-LABEL: name: cfb_lhs11    ; CHECK: liveins: $w012    ; CHECK-NEXT: {{  $}}13    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w014    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 115    ; CHECK-NEXT: %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst16    ; CHECK-NEXT: %add:_(s32) = G_ADD [[COPY]], %cfb17    ; CHECK-NEXT: $w0 = COPY %add(s32)18    ; CHECK-NEXT: RET_ReallyLR19    %0:_(s32) = COPY $w020    %cst:_(s32) = G_CONSTANT i32 121    %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst22    %cst2:_(s32) = G_CONSTANT i32 223    %add:_(s32) = G_ADD %cfb, %024    $w0 = COPY %add25    RET_ReallyLR26 27...28---29name:            cfb_lhs_cfb_already_rhs30tracksRegLiveness: true31body:             |32  bb.1:33    liveins: $w034 35    ; CHECK-LABEL: name: cfb_lhs_cfb_already_rhs36    ; CHECK: liveins: $w037    ; CHECK-NEXT: {{  $}}38    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 139    ; CHECK-NEXT: %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst40    ; CHECK-NEXT: %cst2:_(s32) = G_CONSTANT i32 241    ; CHECK-NEXT: %cfb2:_(s32) = G_CONSTANT_FOLD_BARRIER %cst242    ; CHECK-NEXT: %add:_(s32) = G_ADD %cfb, %cfb243    ; CHECK-NEXT: $w0 = COPY %add(s32)44    ; CHECK-NEXT: RET_ReallyLR45    %0:_(s32) = COPY $w046    %cst:_(s32) = G_CONSTANT i32 147    %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst48    %cst2:_(s32) = G_CONSTANT i32 249    %cfb2:_(s32) = G_CONSTANT_FOLD_BARRIER %cst250    %add:_(s32) = G_ADD %cfb, %cfb251    $w0 = COPY %add52    RET_ReallyLR53 54...55---56name:            cfb_lhs_cst_on_rhs57alignment:       458tracksRegLiveness: true59body:             |60  bb.1:61    liveins: $w062 63    ; CHECK-LABEL: name: cfb_lhs_cst_on_rhs64    ; CHECK: liveins: $w065    ; CHECK-NEXT: {{  $}}66    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 167    ; CHECK-NEXT: %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst68    ; CHECK-NEXT: %cst2:_(s32) = G_CONSTANT i32 269    ; CHECK-NEXT: %add:_(s32) = G_ADD %cfb, %cst270    ; CHECK-NEXT: $w0 = COPY %add(s32)71    ; CHECK-NEXT: RET_ReallyLR72    %0:_(s32) = COPY $w073    %cst:_(s32) = G_CONSTANT i32 174    %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst75    %cst2:_(s32) = G_CONSTANT i32 276    %add:_(s32) = G_ADD %cfb, %cst277    $w0 = COPY %add78    RET_ReallyLR79 80...81---82name:            cfb_lhs_smulo83tracksRegLiveness: true84body:             |85  bb.1:86    liveins: $w087 88    ; CHECK-LABEL: name: cfb_lhs_smulo89    ; CHECK: liveins: $w090    ; CHECK-NEXT: {{  $}}91    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w092    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 193    ; CHECK-NEXT: %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst94    ; CHECK-NEXT: %mul:_(s32), %overflow:_(s1) = G_SMULO [[COPY]], %cfb95    ; CHECK-NEXT: %ret:_(s32) = G_ANYEXT %overflow(s1)96    ; CHECK-NEXT: $w0 = COPY %ret(s32)97    ; CHECK-NEXT: RET_ReallyLR98    %0:_(s32) = COPY $w099    %cst:_(s32) = G_CONSTANT i32 1100    %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst101    %mul:_(s32), %overflow:_(s1) = G_SMULO %cfb, %0102    %ret:_(s32) = G_ANYEXT %overflow103    $w0 = COPY %ret104    RET_ReallyLR105 106...107---108name:            cfb_lhs_cfb_already_rhs_smulo109tracksRegLiveness: true110body:             |111  bb.1:112    liveins: $w0113 114    ; CHECK-LABEL: name: cfb_lhs_cfb_already_rhs_smulo115    ; CHECK: liveins: $w0116    ; CHECK-NEXT: {{  $}}117    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 1118    ; CHECK-NEXT: %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst119    ; CHECK-NEXT: %cst2:_(s32) = G_CONSTANT i32 6120    ; CHECK-NEXT: %cfb2:_(s32) = G_CONSTANT_FOLD_BARRIER %cst2121    ; CHECK-NEXT: %mul:_(s32), %overflow:_(s1) = G_SMULO %cfb, %cfb2122    ; CHECK-NEXT: %ret:_(s32) = G_ANYEXT %overflow(s1)123    ; CHECK-NEXT: $w0 = COPY %ret(s32)124    ; CHECK-NEXT: RET_ReallyLR125    %0:_(s32) = COPY $w0126    %cst:_(s32) = G_CONSTANT i32 1127    %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst128    %cst2:_(s32) = G_CONSTANT i32 6129    %cfb2:_(s32) = G_CONSTANT_FOLD_BARRIER %cst2130    %mul:_(s32), %overflow:_(s1) = G_SMULO %cfb, %cfb2131    %ret:_(s32) = G_ANYEXT %overflow132    $w0 = COPY %ret133    RET_ReallyLR134 135...136---137name:            cfb_lhs_cst_on_rhs_smulo138alignment:       4139tracksRegLiveness: true140body:             |141  bb.1:142    liveins: $w0143 144    ; CHECK-LABEL: name: cfb_lhs_cst_on_rhs_smulo145    ; CHECK: liveins: $w0146    ; CHECK-NEXT: {{  $}}147    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 1148    ; CHECK-NEXT: %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst149    ; CHECK-NEXT: %cst2:_(s32) = G_CONSTANT i32 6150    ; CHECK-NEXT: %mul:_(s32), %overflow:_(s1) = G_SMULO %cfb, %cst2151    ; CHECK-NEXT: %ret:_(s32) = G_ANYEXT %overflow(s1)152    ; CHECK-NEXT: $w0 = COPY %ret(s32)153    ; CHECK-NEXT: RET_ReallyLR154    %0:_(s32) = COPY $w0155    %cst:_(s32) = G_CONSTANT i32 1156    %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst157    %cst2:_(s32) = G_CONSTANT i32 6158    %mul:_(s32), %overflow:_(s1) = G_SMULO %cfb, %cst2159    %ret:_(s32) = G_ANYEXT %overflow160    $w0 = COPY %ret161    RET_ReallyLR162 163...164---165name:            cfb_lhs_umulfixsat166tracksRegLiveness: true167body:             |168  bb.1:169    liveins: $w0170 171    ; CHECK-LABEL: name: cfb_lhs_umulfixsat172    ; CHECK: liveins: $w0173    ; CHECK-NEXT: {{  $}}174    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w0175    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 1176    ; CHECK-NEXT: %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst177    ; CHECK-NEXT: %mul:_(s32) = G_UMULFIXSAT [[COPY]], %cfb, 7178    ; CHECK-NEXT: $w0 = COPY %mul(s32)179    ; CHECK-NEXT: RET_ReallyLR180    %0:_(s32) = COPY $w0181    %cst:_(s32) = G_CONSTANT i32 1182    %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst183    %mul:_(s32) = G_UMULFIXSAT %cfb, %0, 7184    $w0 = COPY %mul185    RET_ReallyLR186 187...188---189name:            cfb_lhs_cfb_already_rhs_umulfixsat190tracksRegLiveness: true191body:             |192  bb.1:193    liveins: $w0194 195    ; CHECK-LABEL: name: cfb_lhs_cfb_already_rhs_umulfixsat196    ; CHECK: liveins: $w0197    ; CHECK-NEXT: {{  $}}198    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 1199    ; CHECK-NEXT: %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst200    ; CHECK-NEXT: %cst2:_(s32) = G_CONSTANT i32 2201    ; CHECK-NEXT: %cfb2:_(s32) = G_CONSTANT_FOLD_BARRIER %cst2202    ; CHECK-NEXT: %add:_(s32) = G_UMULFIXSAT %cfb, %cfb2, 7203    ; CHECK-NEXT: $w0 = COPY %add(s32)204    ; CHECK-NEXT: RET_ReallyLR205    %0:_(s32) = COPY $w0206    %cst:_(s32) = G_CONSTANT i32 1207    %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst208    %cst2:_(s32) = G_CONSTANT i32 2209    %cfb2:_(s32) = G_CONSTANT_FOLD_BARRIER %cst2210    %add:_(s32) = G_UMULFIXSAT %cfb, %cfb2, 7211    $w0 = COPY %add212    RET_ReallyLR213 214...215---216name:            cfb_lhs_cst_on_rhs_umulfixsat217alignment:       4218tracksRegLiveness: true219body:             |220  bb.1:221    liveins: $w0222 223    ; CHECK-LABEL: name: cfb_lhs_cst_on_rhs_umulfixsat224    ; CHECK: liveins: $w0225    ; CHECK-NEXT: {{  $}}226    ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 1227    ; CHECK-NEXT: %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst228    ; CHECK-NEXT: %cst2:_(s32) = G_CONSTANT i32 2229    ; CHECK-NEXT: %add:_(s32) = G_UMULFIXSAT %cfb, %cst2, 7230    ; CHECK-NEXT: $w0 = COPY %add(s32)231    ; CHECK-NEXT: RET_ReallyLR232    %0:_(s32) = COPY $w0233    %cst:_(s32) = G_CONSTANT i32 1234    %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst235    %cst2:_(s32) = G_CONSTANT i32 2236    %add:_(s32) = G_UMULFIXSAT %cfb, %cst2, 7237    $w0 = COPY %add238    RET_ReallyLR239 240...241