brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.2 KiB · 81abbbf Raw
350 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64 -run-pass=peephole-opt -verify-machineinstrs %s -o - | FileCheck %s3# RUN: llc -mtriple=aarch64 -passes=peephole-opt -verify-machineinstrs %s -o - | FileCheck %s4---5name:            remove_subswr_after_csincwr6tracksRegLiveness: true7body:             |8  ; CHECK-LABEL: name: remove_subswr_after_csincwr9  ; CHECK: bb.0:10  ; CHECK:   successors: %bb.1(0x40000000), %bb.2(0x40000000)11  ; CHECK:   liveins: $x112  ; CHECK:   [[COPY:%[0-9]+]]:gpr64common = COPY $x113  ; CHECK:   [[DEF:%[0-9]+]]:gpr64 = IMPLICIT_DEF14  ; CHECK:   [[SUBSXrr:%[0-9]+]]:gpr64 = SUBSXrr killed [[DEF]], [[COPY]], implicit-def $nzcv15  ; CHECK:   [[CSINCWr:%[0-9]+]]:gpr32common = CSINCWr $wzr, $wzr, 1, implicit $nzcv16  ; CHECK:   Bcc 1, %bb.2, implicit $nzcv17  ; CHECK:   B %bb.118  ; CHECK: bb.1:19  ; CHECK:   successors: %bb.2(0x80000000)20  ; CHECK:   B %bb.221  ; CHECK: bb.2:22  ; CHECK:   RET_ReallyLR23  bb.0:24    liveins: $x125    successors: %bb.1(0x40000000), %bb.2(0x40000000)26    %1:gpr64common = COPY $x127    %2:gpr64 = IMPLICIT_DEF28    %3:gpr64 = SUBSXrr killed %2:gpr64, %1:gpr64common, implicit-def $nzcv29    %4:gpr32common = CSINCWr $wzr, $wzr, 1, implicit $nzcv30    %5:gpr32 = SUBSWri killed %4:gpr32common, 1, 0, implicit-def $nzcv31    Bcc 1, %bb.2, implicit $nzcv32    B %bb.133 34  bb.1:35    successors: %bb.2(0x80000000)36    B %bb.237 38  bb.2:39    RET_ReallyLR40 41...42---43name:            remove_subsxr_after_csincxr_invertcc44tracksRegLiveness: true45body:             |46  ; CHECK-LABEL: name: remove_subsxr_after_csincxr_invertcc47  ; CHECK: bb.0:48  ; CHECK:   successors: %bb.1(0x40000000), %bb.2(0x40000000)49  ; CHECK:   liveins: $x150  ; CHECK:   [[COPY:%[0-9]+]]:gpr64common = COPY $x151  ; CHECK:   [[DEF:%[0-9]+]]:gpr64 = IMPLICIT_DEF52  ; CHECK:   [[SUBSXrr:%[0-9]+]]:gpr64 = SUBSXrr killed [[DEF]], [[COPY]], implicit-def $nzcv53  ; CHECK:   [[CSINCXr:%[0-9]+]]:gpr64common = CSINCXr $xzr, $xzr, 1, implicit $nzcv54  ; CHECK:   Bcc 1, %bb.2, implicit $nzcv55  ; CHECK:   B %bb.156  ; CHECK: bb.1:57  ; CHECK:   successors: %bb.2(0x80000000)58  ; CHECK:   B %bb.259  ; CHECK: bb.2:60  ; CHECK:   RET_ReallyLR61  bb.0:62    liveins: $x163    successors: %bb.1(0x40000000), %bb.2(0x40000000)64    %1:gpr64common = COPY $x165    %2:gpr64 = IMPLICIT_DEF66    %3:gpr64 = SUBSXrr killed %2:gpr64, %1:gpr64common, implicit-def $nzcv67    %4:gpr64common = CSINCXr $xzr, $xzr, 1, implicit $nzcv68    %5:gpr64 = SUBSXri killed %4:gpr64common, 0, 0, implicit-def $nzcv69    Bcc 0, %bb.2, implicit $nzcv70    B %bb.171 72  bb.1:73    successors: %bb.2(0x80000000)74    B %bb.275 76  bb.2:77    RET_ReallyLR78 79...80---81name:            cflags_alive_in_succs82tracksRegLiveness: true83body:             |84  ; CHECK-LABEL: name: cflags_alive_in_succs85  ; CHECK: bb.0:86  ; CHECK:   successors: %bb.1(0x40000000), %bb.2(0x40000000)87  ; CHECK:   liveins: $nzcv88  ; CHECK:   [[CSINCXr:%[0-9]+]]:gpr64common = CSINCXr $xzr, $xzr, 1, implicit $nzcv89  ; CHECK:   [[ADDSXri:%[0-9]+]]:gpr64 = ADDSXri killed [[CSINCXr]], 0, 0, implicit-def $nzcv90  ; CHECK:   Bcc 0, %bb.2, implicit $nzcv91  ; CHECK:   B %bb.192  ; CHECK: bb.1:93  ; CHECK:   successors: %bb.2(0x80000000)94  ; CHECK:   liveins: $nzcv95  ; CHECK:   B %bb.296  ; CHECK: bb.2:97  ; CHECK:   RET_ReallyLR98  bb.0:99    liveins: $nzcv100    successors: %bb.1(0x40000000), %bb.2(0x40000000)101    %1:gpr64common = CSINCXr $xzr, $xzr, 1, implicit $nzcv102    %2:gpr64 = ADDSXri killed %1:gpr64common, 0, 0, implicit-def $nzcv103    Bcc 0, %bb.2, implicit $nzcv104    B %bb.1105 106  bb.1:107    liveins: $nzcv108    successors: %bb.2(0x80000000)109    B %bb.2110 111  bb.2:112    RET_ReallyLR113 114...115---116name:            nz_used_after_cmp117tracksRegLiveness: true118body:             |119  ; CHECK-LABEL: name: nz_used_after_cmp120  ; CHECK: bb.0:121  ; CHECK:   successors: %bb.1(0x40000000), %bb.2(0x40000000)122  ; CHECK:   liveins: $nzcv123  ; CHECK:   [[CSINCXr:%[0-9]+]]:gpr64common = CSINCXr $xzr, $xzr, 1, implicit $nzcv124  ; CHECK:   [[ADDSXri:%[0-9]+]]:gpr64 = ADDSXri killed [[CSINCXr]], 0, 0, implicit-def $nzcv125  ; CHECK:   Bcc 4, %bb.2, implicit $nzcv126  ; CHECK:   B %bb.1127  ; CHECK: bb.1:128  ; CHECK:   successors: %bb.2(0x80000000)129  ; CHECK:   B %bb.2130  ; CHECK: bb.2:131  ; CHECK:   RET_ReallyLR132  bb.0:133    liveins: $nzcv134    successors: %bb.1(0x40000000), %bb.2(0x40000000)135    %1:gpr64common = CSINCXr $xzr, $xzr, 1, implicit $nzcv136    %2:gpr64 = ADDSXri killed %1:gpr64common, 0, 0, implicit-def $nzcv137    Bcc 4, %bb.2, implicit $nzcv138    B %bb.1139 140  bb.1:141    successors: %bb.2(0x80000000)142    B %bb.2143 144  bb.2:145    RET_ReallyLR146 147...148---149name:            remove_addswr_after_csincwr_invertcc150tracksRegLiveness: true151body:             |152  ; CHECK-LABEL: name: remove_addswr_after_csincwr_invertcc153  ; CHECK: bb.0:154  ; CHECK:   successors: %bb.1(0x40000000), %bb.2(0x40000000)155  ; CHECK:   liveins: $nzcv156  ; CHECK:   [[CSINCWr:%[0-9]+]]:gpr32common = CSINCWr $wzr, $wzr, 1, implicit $nzcv157  ; CHECK:   Bcc 0, %bb.2, implicit $nzcv158  ; CHECK:   B %bb.1159  ; CHECK: bb.1:160  ; CHECK:   successors: %bb.2(0x80000000)161  ; CHECK:   B %bb.2162  ; CHECK: bb.2:163  ; CHECK:   RET_ReallyLR164  bb.0:165    liveins: $nzcv166    successors: %bb.1(0x40000000), %bb.2(0x40000000)167    %1:gpr32common = CSINCWr $wzr, $wzr, 1, implicit $nzcv168    %2:gpr32 = ADDSWri killed %1:gpr32common, 0, 0, implicit-def $nzcv169    Bcc 1, %bb.2, implicit $nzcv170    B %bb.1171 172  bb.1:173    successors: %bb.2(0x80000000)174    B %bb.2175 176  bb.2:177    RET_ReallyLR178 179...180---181name:            cv_used_after_cmp182tracksRegLiveness: true183body:             |184  ; CHECK-LABEL: name: cv_used_after_cmp185  ; CHECK: bb.0:186  ; CHECK:   successors: %bb.1(0x40000000), %bb.2(0x40000000)187  ; CHECK:   liveins: $nzcv188  ; CHECK:   [[CSINCWr:%[0-9]+]]:gpr32common = CSINCWr $wzr, $wzr, 1, implicit $nzcv189  ; CHECK:   [[SUBSWri:%[0-9]+]]:gpr32 = SUBSWri killed [[CSINCWr]], 0, 0, implicit-def $nzcv190  ; CHECK:   Bcc 2, %bb.2, implicit $nzcv191  ; CHECK:   B %bb.1192  ; CHECK: bb.1:193  ; CHECK:   successors: %bb.2(0x80000000)194  ; CHECK:   B %bb.2195  ; CHECK: bb.2:196  ; CHECK:   RET_ReallyLR197  bb.0:198    liveins: $nzcv199    successors: %bb.1(0x40000000), %bb.2(0x40000000)200    %1:gpr32common = CSINCWr $wzr, $wzr, 1, implicit $nzcv201    %2:gpr32 = SUBSWri killed %1:gpr32common, 0, 0, implicit-def $nzcv202    Bcc 2, %bb.2, implicit $nzcv203    B %bb.1204 205  bb.1:206    successors: %bb.2(0x80000000)207    B %bb.2208 209  bb.2:210    RET_ReallyLR211 212...213---214name:            csinc_add0215tracksRegLiveness: true216body:             |217  ; CHECK-LABEL: name: csinc_add0218  ; CHECK: bb.0:219  ; CHECK:   successors: %bb.1(0x40000000), %bb.2(0x40000000)220  ; CHECK:   liveins: $nzcv221  ; CHECK:   [[CSINCWr:%[0-9]+]]:gpr32common = CSINCWr $wzr, $wzr, 4, implicit $nzcv222  ; CHECK:   [[ADDSWri:%[0-9]+]]:gpr32 = ADDSWri killed [[CSINCWr]], 0, 0, implicit-def $nzcv223  ; CHECK:   Bcc 1, %bb.2, implicit $nzcv224  ; CHECK:   B %bb.1225  ; CHECK: bb.1:226  ; CHECK:   successors: %bb.2(0x80000000)227  ; CHECK:   B %bb.2228  ; CHECK: bb.2:229  ; CHECK:   RET_ReallyLR230  bb.0:231    liveins: $nzcv232    successors: %bb.1(0x40000000), %bb.2(0x40000000)233    %1:gpr32common = CSINCWr $wzr, $wzr, 4, implicit $nzcv234    %2:gpr32 = ADDSWri killed %1:gpr32common, 0, 0, implicit-def $nzcv235    Bcc 1, %bb.2, implicit $nzcv236    B %bb.1237 238  bb.1:239    successors: %bb.2(0x80000000)240    B %bb.2241 242  bb.2:243    RET_ReallyLR244 245...246---247name:            remove_subs1_after_csincN_invertcc248tracksRegLiveness: true249body:             |250  ; CHECK-LABEL: name: remove_subs1_after_csincN_invertcc251  ; CHECK: bb.0:252  ; CHECK:   successors: %bb.1(0x40000000), %bb.2(0x40000000)253  ; CHECK:   liveins: $nzcv254  ; CHECK:   [[CSINCWr:%[0-9]+]]:gpr32common = CSINCWr $wzr, $wzr, 5, implicit $nzcv255  ; CHECK:   Bcc 5, %bb.2, implicit $nzcv256  ; CHECK:   B %bb.1257  ; CHECK: bb.1:258  ; CHECK:   successors: %bb.2(0x80000000)259  ; CHECK:   B %bb.2260  ; CHECK: bb.2:261  ; CHECK:   RET_ReallyLR262  bb.0:263    liveins: $nzcv264    successors: %bb.1(0x40000000), %bb.2(0x40000000)265    %1:gpr32common = CSINCWr $wzr, $wzr, 5, implicit $nzcv266    %2:gpr32 = SUBSWri killed %1:gpr32common, 1, 0, implicit-def $nzcv267    Bcc 4, %bb.2, implicit $nzcv268    B %bb.1269 270  bb.1:271    successors: %bb.2(0x80000000)272    B %bb.2273 274  bb.2:275    RET_ReallyLR276 277...278---279name:            csinc_wrong_cc280tracksRegLiveness: true281body:             |282  ; CHECK-LABEL: name: csinc_wrong_cc283  ; CHECK: bb.0:284  ; CHECK:   successors: %bb.1(0x40000000), %bb.2(0x40000000)285  ; CHECK:   liveins: $nzcv286  ; CHECK:   [[CSINCXr:%[0-9]+]]:gpr64common = CSINCXr $xzr, $xzr, 2, implicit $nzcv287  ; CHECK:   [[SUBSXri:%[0-9]+]]:gpr64 = SUBSXri killed [[CSINCXr]], 1, 0, implicit-def $nzcv288  ; CHECK:   Bcc 0, %bb.2, implicit $nzcv289  ; CHECK:   B %bb.1290  ; CHECK: bb.1:291  ; CHECK:   successors: %bb.2(0x80000000)292  ; CHECK:   B %bb.2293  ; CHECK: bb.2:294  ; CHECK:   RET_ReallyLR295  bb.0:296    liveins: $nzcv297    successors: %bb.1(0x40000000), %bb.2(0x40000000)298    %1:gpr64common = CSINCXr $xzr, $xzr, 2, implicit $nzcv299    %2:gpr64 = SUBSXri killed %1:gpr64common, 1, 0, implicit-def $nzcv300    Bcc 0, %bb.2, implicit $nzcv301    B %bb.1302 303  bb.1:304    successors: %bb.2(0x80000000)305    B %bb.2306 307  bb.2:308    RET_ReallyLR309 310...311---312name:            subswr_wrong_cmp_value313tracksRegLiveness: true314body:             |315  ; CHECK-LABEL: name: subswr_wrong_cmp_value316  ; CHECK: bb.0:317  ; CHECK:   successors: %bb.1(0x40000000), %bb.2(0x40000000)318  ; CHECK:   liveins: $x1319  ; CHECK:   [[COPY:%[0-9]+]]:gpr64common = COPY $x1320  ; CHECK:   [[DEF:%[0-9]+]]:gpr64 = IMPLICIT_DEF321  ; CHECK:   [[SUBSXrr:%[0-9]+]]:gpr64 = SUBSXrr killed [[DEF]], [[COPY]], implicit-def $nzcv322  ; CHECK:   [[CSINCWr:%[0-9]+]]:gpr32common = CSINCWr $wzr, $wzr, 1, implicit $nzcv323  ; CHECK:   [[SUBSWri:%[0-9]+]]:gpr32 = SUBSWri killed [[CSINCWr]], 3, 0, implicit-def $nzcv324  ; CHECK:   Bcc 1, %bb.2, implicit $nzcv325  ; CHECK:   B %bb.1326  ; CHECK: bb.1:327  ; CHECK:   successors: %bb.2(0x80000000)328  ; CHECK:   B %bb.2329  ; CHECK: bb.2:330  ; CHECK:   RET_ReallyLR331  bb.0:332    liveins: $x1333    successors: %bb.1(0x40000000), %bb.2(0x40000000)334    %1:gpr64common = COPY $x1335    %2:gpr64 = IMPLICIT_DEF336    %3:gpr64 = SUBSXrr killed %2:gpr64, %1:gpr64common, implicit-def $nzcv337    %4:gpr32common = CSINCWr $wzr, $wzr, 1, implicit $nzcv338    %5:gpr32 = SUBSWri killed %4:gpr32common, 3, 0, implicit-def $nzcv339    Bcc 1, %bb.2, implicit $nzcv340    B %bb.1341 342  bb.1:343    successors: %bb.2(0x80000000)344    B %bb.2345 346  bb.2:347    RET_ReallyLR348 349...350