brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.7 KiB · fa87996 Raw
209 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 22# RUN: llc -verify-machineinstrs -mtriple aarch64-unknown-uknown -global-isel-abort=1 -run-pass=instruction-select %s -o - | FileCheck %s3...4---5name:            usube_s646alignment:       47legalized:       true8regBankSelected: true9tracksRegLiveness: true10body:             |11  bb.1:12    liveins: $x0, $x113 14    ; CHECK-LABEL: name: usube_s6415    ; CHECK: liveins: $x0, $x116    ; CHECK-NEXT: {{  $}}17    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64 = COPY $x018    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr64 = COPY $x119    ; CHECK-NEXT: [[MOVi32imm:%[0-9]+]]:gpr32 = MOVi32imm 120    ; CHECK-NEXT: [[SUBSWrr:%[0-9]+]]:gpr32 = SUBSWrr $wzr, [[MOVi32imm]], implicit-def $nzcv21    ; CHECK-NEXT: [[SBCSXr:%[0-9]+]]:gpr64 = SBCSXr [[COPY]], [[COPY1]], implicit-def $nzcv, implicit $nzcv22    ; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr $wzr, $wzr, 2, implicit $nzcv23    ; CHECK-NEXT: $x0 = COPY [[SBCSXr]]24    ; CHECK-NEXT: $w1 = COPY [[CSINCWr]]25    ; CHECK-NEXT: RET_ReallyLR implicit $x0, implicit $w126    %0:gpr(s64) = COPY $x027    %1:gpr(s64) = COPY $x128    %2:gpr(s32) = G_CONSTANT i32 129    %3:gpr(s64), %4:gpr(s32) = G_USUBE %0, %1, %230    $x0 = COPY %3(s64)31    $w1 = COPY %4(s32)32    RET_ReallyLR implicit $x0, implicit $w133...34...35---36name:            usube_s3237alignment:       438legalized:       true39regBankSelected: true40tracksRegLiveness: true41body:             |42  bb.1:43    liveins: $w0, $w144 45    ; CHECK-LABEL: name: usube_s3246    ; CHECK: liveins: $w0, $w147    ; CHECK-NEXT: {{  $}}48    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr32 = COPY $w049    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr32 = COPY $w150    ; CHECK-NEXT: [[MOVi32imm:%[0-9]+]]:gpr32 = MOVi32imm 151    ; CHECK-NEXT: [[SUBSWrr:%[0-9]+]]:gpr32 = SUBSWrr $wzr, [[MOVi32imm]], implicit-def $nzcv52    ; CHECK-NEXT: [[SBCSWr:%[0-9]+]]:gpr32 = SBCSWr [[COPY]], [[COPY1]], implicit-def $nzcv, implicit $nzcv53    ; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr $wzr, $wzr, 2, implicit $nzcv54    ; CHECK-NEXT: $w0 = COPY [[SBCSWr]]55    ; CHECK-NEXT: $w1 = COPY [[CSINCWr]]56    ; CHECK-NEXT: RET_ReallyLR implicit $w0, implicit $w157    %0:gpr(s32) = COPY $w058    %1:gpr(s32) = COPY $w159    %2:gpr(s32) = G_CONSTANT i32 160    %3:gpr(s32), %4:gpr(s32) = G_USUBE %0, %1, %261    $w0 = COPY %3(s32)62    $w1 = COPY %4(s32)63    RET_ReallyLR implicit $w0, implicit $w164...65...66---67name:            usube_opt_prev_usubo68alignment:       469legalized:       true70regBankSelected: true71tracksRegLiveness: true72body:             |73  bb.1:74    liveins: $x0, $x1, $x2, $x375 76    ; CHECK-LABEL: name: usube_opt_prev_usubo77    ; CHECK: liveins: $x0, $x1, $x2, $x378    ; CHECK-NEXT: {{  $}}79    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64 = COPY $x080    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr64 = COPY $x181    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr64 = COPY $x282    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr64 = COPY $x383    ; CHECK-NEXT: [[SUBSXrr:%[0-9]+]]:gpr64 = SUBSXrr [[COPY]], [[COPY2]], implicit-def $nzcv84    ; CHECK-NEXT: [[SBCSXr:%[0-9]+]]:gpr64 = SBCSXr [[COPY1]], [[COPY3]], implicit-def $nzcv, implicit $nzcv85    ; CHECK-NEXT: $x0 = COPY [[SUBSXrr]]86    ; CHECK-NEXT: $x1 = COPY [[SBCSXr]]87    ; CHECK-NEXT: RET_ReallyLR implicit $x0, implicit $x188    %0:gpr(s64) = COPY $x089    %1:gpr(s64) = COPY $x190    %2:gpr(s64) = COPY $x291    %3:gpr(s64) = COPY $x392    %8:gpr(s64), %12:gpr(s32) = G_USUBO %0, %293    %9:gpr(s64), %13:gpr(s32) = G_USUBE %1, %3, %1294    $x0 = COPY %8(s64)95    $x1 = COPY %9(s64)96    RET_ReallyLR implicit $x0, implicit $x197...98...99---100name:            usube_opt_prev_usube101alignment:       4102legalized:       true103regBankSelected: true104tracksRegLiveness: true105body:             |106  bb.1:107    liveins: $x0, $x1, $x2, $x3108 109    ; CHECK-LABEL: name: usube_opt_prev_usube110    ; CHECK: liveins: $x0, $x1, $x2, $x3111    ; CHECK-NEXT: {{  $}}112    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64 = COPY $x0113    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr64 = COPY $x1114    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr64 = COPY $x2115    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr64 = COPY $x3116    ; CHECK-NEXT: [[MOVi32imm:%[0-9]+]]:gpr32 = MOVi32imm 1117    ; CHECK-NEXT: [[SUBSWrr:%[0-9]+]]:gpr32 = SUBSWrr $wzr, [[MOVi32imm]], implicit-def $nzcv118    ; CHECK-NEXT: [[SBCSXr:%[0-9]+]]:gpr64 = SBCSXr [[COPY]], [[COPY2]], implicit-def $nzcv, implicit $nzcv119    ; CHECK-NEXT: [[SBCSXr1:%[0-9]+]]:gpr64 = SBCSXr [[COPY1]], [[COPY3]], implicit-def $nzcv, implicit $nzcv120    ; CHECK-NEXT: $x0 = COPY [[SBCSXr]]121    ; CHECK-NEXT: $x1 = COPY [[SBCSXr1]]122    ; CHECK-NEXT: RET_ReallyLR implicit $x0, implicit $x1123    %0:gpr(s64) = COPY $x0124    %1:gpr(s64) = COPY $x1125    %2:gpr(s64) = COPY $x2126    %3:gpr(s64) = COPY $x3127    %6:gpr(s32) = G_CONSTANT i32 1128    %8:gpr(s64), %12:gpr(s32) = G_USUBE %0, %2, %6129    %9:gpr(s64), %13:gpr(s32) = G_USUBE %1, %3, %12130    $x0 = COPY %8(s64)131    $x1 = COPY %9(s64)132    RET_ReallyLR implicit $x0, implicit $x1133...134...135---136name:            usube_opt_bail_clobber137alignment:       4138legalized:       true139regBankSelected: true140tracksRegLiveness: true141body:             |142  bb.1:143    liveins: $x0, $x1, $x2, $x4, $x5, $x6144 145    ; CHECK-LABEL: name: usube_opt_bail_clobber146    ; CHECK: liveins: $x0, $x1, $x2, $x4, $x5, $x6147    ; CHECK-NEXT: {{  $}}148    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64 = COPY $x0149    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr64 = COPY $x1150    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr64 = COPY $x2151    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr64 = COPY $x4152    ; CHECK-NEXT: [[COPY4:%[0-9]+]]:gpr64 = COPY $x5153    ; CHECK-NEXT: [[COPY5:%[0-9]+]]:gpr64 = COPY $x6154    ; CHECK-NEXT: [[SUBSXrr:%[0-9]+]]:gpr64 = SUBSXrr [[COPY]], [[COPY3]], implicit-def $nzcv155    ; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr $wzr, $wzr, 2, implicit $nzcv156    ; CHECK-NEXT: [[SBCSXr:%[0-9]+]]:gpr64 = SBCSXr [[COPY1]], [[COPY4]], implicit-def $nzcv, implicit $nzcv157    ; CHECK-NEXT: [[SUBSWrr:%[0-9]+]]:gpr32 = SUBSWrr $wzr, [[CSINCWr]], implicit-def $nzcv158    ; CHECK-NEXT: [[SBCSXr1:%[0-9]+]]:gpr64 = SBCSXr [[COPY2]], [[COPY5]], implicit-def $nzcv, implicit $nzcv159    ; CHECK-NEXT: $x0 = COPY [[SUBSXrr]]160    ; CHECK-NEXT: $x1 = COPY [[SBCSXr]]161    ; CHECK-NEXT: $x2 = COPY [[SBCSXr1]]162    ; CHECK-NEXT: RET_ReallyLR implicit $x0, implicit $x1, implicit $x2163    %0:gpr(s64) = COPY $x0164    %1:gpr(s64) = COPY $x1165    %2:gpr(s64) = COPY $x2166    %4:gpr(s64) = COPY $x4167    %5:gpr(s64) = COPY $x5168    %6:gpr(s64) = COPY $x6169    %7:gpr(s64), %11:gpr(s32) = G_USUBO %0, %4170    %8:gpr(s64), %12:gpr(s32) = G_USUBE %1, %5, %11171    ; carry-in is not produced by previous instruction172    %9:gpr(s64), %13:gpr(s32) = G_USUBE %2, %6, %11173    $x0 = COPY %7(s64)174    $x1 = COPY %8(s64)175    $x2 = COPY %9(s64)176    RET_ReallyLR implicit $x0, implicit $x1, implicit $x2177...178...179---180name:            usube_opt_prev_dead181alignment:       4182legalized:       true183regBankSelected: true184tracksRegLiveness: true185body:             |186  bb.1:187    liveins: $x0, $x1, $x2, $x3188    ; CHECK-LABEL: name: usube_opt_prev_dead189    ; CHECK: liveins: $x0, $x1, $x2, $x3190    ; CHECK-NEXT: {{  $}}191    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64 = COPY $x0192    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr64 = COPY $x1193    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr64 = COPY $x2194    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr64 = COPY $x3195    ; CHECK-NEXT: [[SUBSXrr:%[0-9]+]]:gpr64 = SUBSXrr [[COPY]], [[COPY2]], implicit-def $nzcv196    ; CHECK-NEXT: [[SBCSXr:%[0-9]+]]:gpr64 = SBCSXr [[COPY1]], [[COPY3]], implicit-def $nzcv, implicit $nzcv197    ; CHECK-NEXT: [[CSINCWr:%[0-9]+]]:gpr32 = CSINCWr $wzr, $wzr, 2, implicit $nzcv198    ; CHECK-NEXT: $w0 = COPY [[CSINCWr]]199    ; CHECK-NEXT: RET_ReallyLR implicit $w0200    %0:gpr(s64) = COPY $x0201    %1:gpr(s64) = COPY $x1202    %2:gpr(s64) = COPY $x2203    %3:gpr(s64) = COPY $x3204    %4:gpr(s64), %5:gpr(s32) = G_USUBO %0, %2205    %6:gpr(s64), %7:gpr(s32) = G_USUBE %1, %3, %5206    $w0 = COPY %7(s32)207    RET_ReallyLR implicit $w0208...209