148 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass machine-combiner -verify-machineinstrs -o - %s | FileCheck %s3 4---5name: madd_addwi6alignment: 47tracksRegLiveness: true8body: |9 bb.0.entry:10 liveins: $w0, $w111 12 ; CHECK-LABEL: name: madd_addwi13 ; CHECK: liveins: $w0, $w114 ; CHECK-NEXT: {{ $}}15 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr32 = COPY $w016 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr32 = COPY $w117 ; CHECK-NEXT: [[MOVi32imm:%[0-9]+]]:gpr32 = nsw MOVi32imm 7918 ; CHECK-NEXT: [[MADDWrrr:%[0-9]+]]:gpr32common = nsw MADDWrrr [[COPY1]], [[COPY]], [[MOVi32imm]]19 ; CHECK-NEXT: $w0 = COPY [[MADDWrrr]]20 ; CHECK-NEXT: RET_ReallyLR implicit $w021 %0:gpr32 = COPY $w022 %1:gpr32 = COPY $w123 %2:gpr32common = nsw MADDWrrr %1:gpr32, %0:gpr32, $wzr24 %3:gpr32sp = nsw ADDWri killed %2:gpr32common, 79, 025 $w0 = COPY %3:gpr32sp26 RET_ReallyLR implicit $w027...28---29name: madd_addxi30alignment: 431tracksRegLiveness: true32body: |33 bb.0.entry:34 liveins: $x0, $x135 36 ; CHECK-LABEL: name: madd_addxi37 ; CHECK: liveins: $x0, $x138 ; CHECK-NEXT: {{ $}}39 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64 = COPY $x040 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr64 = COPY $x141 ; CHECK-NEXT: [[MOVi64imm:%[0-9]+]]:gpr64 = nsw MOVi64imm 7942 ; CHECK-NEXT: [[MADDXrrr:%[0-9]+]]:gpr64common = nsw MADDXrrr [[COPY1]], [[COPY]], [[MOVi64imm]]43 ; CHECK-NEXT: $x0 = COPY [[MADDXrrr]]44 ; CHECK-NEXT: RET_ReallyLR implicit $x045 %0:gpr64 = COPY $x046 %1:gpr64 = COPY $x147 %2:gpr64common = nsw MADDXrrr %1:gpr64, %0:gpr64, $xzr48 %3:gpr64sp = nsw ADDXri killed %2:gpr64common, 79, 049 $x0 = COPY %3:gpr64sp50 RET_ReallyLR implicit $x051...52---53name: madd_subwi54alignment: 455tracksRegLiveness: true56body: |57 bb.0.entry:58 liveins: $w0, $w159 60 ; CHECK-LABEL: name: madd_subwi61 ; CHECK: liveins: $w0, $w162 ; CHECK-NEXT: {{ $}}63 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr32 = COPY $w064 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr32 = COPY $w165 ; CHECK-NEXT: [[MOVi32imm:%[0-9]+]]:gpr32 = nsw MOVi32imm -166 ; CHECK-NEXT: [[MADDWrrr:%[0-9]+]]:gpr32 = nsw MADDWrrr [[COPY1]], [[COPY]], [[MOVi32imm]]67 ; CHECK-NEXT: $w0 = COPY [[MADDWrrr]]68 ; CHECK-NEXT: RET_ReallyLR implicit $w069 %0:gpr32 = COPY $w070 %1:gpr32 = COPY $w171 %2:gpr32common = nsw MADDWrrr %1:gpr32, %0:gpr32, $wzr72 %3:gpr32 = nsw SUBSWri killed %2:gpr32common, 1, 0, implicit-def dead $nzcv73 $w0 = COPY %3:gpr3274 RET_ReallyLR implicit $w075...76---77name: madd_subxi78alignment: 479tracksRegLiveness: true80body: |81 bb.0.entry:82 liveins: $x0, $x183 84 ; CHECK-LABEL: name: madd_subxi85 ; CHECK: liveins: $x0, $x186 ; CHECK-NEXT: {{ $}}87 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64 = COPY $x088 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr64 = COPY $x189 ; CHECK-NEXT: [[MOVi64imm:%[0-9]+]]:gpr64 = nsw MOVi64imm -190 ; CHECK-NEXT: [[MADDXrrr:%[0-9]+]]:gpr64 = nsw MADDXrrr [[COPY1]], [[COPY]], [[MOVi64imm]]91 ; CHECK-NEXT: $x0 = COPY [[MADDXrrr]]92 ; CHECK-NEXT: RET_ReallyLR implicit $x093 %0:gpr64 = COPY $x094 %1:gpr64 = COPY $x195 %2:gpr64common = nsw MADDXrrr %1:gpr64, %0:gpr64, $xzr96 %3:gpr64 = nsw SUBSXri killed %2:gpr64common, 1, 0, implicit-def dead $nzcv97 $x0 = COPY %3:gpr6498 RET_ReallyLR implicit $x099...100---101name: madd_addorwi102alignment: 4103tracksRegLiveness: true104body: |105 bb.0.entry:106 liveins: $w0, $w1107 108 ; CHECK-LABEL: name: madd_addorwi109 ; CHECK: liveins: $w0, $w1110 ; CHECK-NEXT: {{ $}}111 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr32 = COPY $w0112 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr32 = COPY $w1113 ; CHECK-NEXT: [[MOVi32imm:%[0-9]+]]:gpr32 = nsw MOVi32imm 16773120114 ; CHECK-NEXT: [[MADDWrrr:%[0-9]+]]:gpr32common = nsw MADDWrrr [[COPY1]], [[COPY]], [[MOVi32imm]]115 ; CHECK-NEXT: $w0 = COPY [[MADDWrrr]]116 ; CHECK-NEXT: RET_ReallyLR implicit $w0117 %0:gpr32 = COPY $w0118 %1:gpr32 = COPY $w1119 %2:gpr32common = nsw MADDWrrr %1:gpr32, %0:gpr32, $wzr120 %3:gpr32sp = nsw ADDWri killed %2:gpr32common, 4095, 12121 $w0 = COPY %3:gpr32sp122 RET_ReallyLR implicit $w0123...124---125name: madd_addorxi126alignment: 4127tracksRegLiveness: true128body: |129 bb.0.entry:130 liveins: $x0, $x1131 132 ; CHECK-LABEL: name: madd_addorxi133 ; CHECK: liveins: $x0, $x1134 ; CHECK-NEXT: {{ $}}135 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64 = COPY $x0136 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr64 = COPY $x1137 ; CHECK-NEXT: [[MOVi64imm:%[0-9]+]]:gpr64 = nsw MOVi64imm 16773120138 ; CHECK-NEXT: [[MADDXrrr:%[0-9]+]]:gpr64common = nsw MADDXrrr [[COPY1]], [[COPY]], [[MOVi64imm]]139 ; CHECK-NEXT: $x0 = COPY [[MADDXrrr]]140 ; CHECK-NEXT: RET_ReallyLR implicit $x0141 %0:gpr64 = COPY $x0142 %1:gpr64 = COPY $x1143 %2:gpr64common = nsw MADDXrrr %1:gpr64, %0:gpr64, $xzr144 %3:gpr64sp = nsw ADDXri killed %2:gpr64common, 4095, 12145 $x0 = COPY %3:gpr64sp146 RET_ReallyLR implicit $x0147...148