brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.1 KiB · 8daf7e5 Raw
86 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64-none-linux-gnu -mcpu=neoverse-n2 -run-pass machine-combiner \3# RUN:     -verify-machineinstrs  -o - %s | FileCheck %s4 5# Most machine-combiner reassociation tests are put in machine-combiner.ll.6# However, we cannot test reassociation of SVE EORs in machine-combiner.ll7# because isel combines two EORs to one EOR3. So SVE EOR-specific test is put8# in this file.9 10---11 12name:            reassociate_xors_sve_113registers:14  - { id: 0, class: zpr, preferred-register: '' }15  - { id: 1, class: zpr, preferred-register: '' }16  - { id: 2, class: zpr, preferred-register: '' }17  - { id: 3, class: zpr, preferred-register: '' }18  - { id: 4, class: zpr, preferred-register: '' }19  - { id: 5, class: zpr, preferred-register: '' }20  - { id: 6, class: zpr, preferred-register: '' }21body:             |22  bb.0:23    liveins: $z0, $z1, $z2, $z324 25    ; CHECK-LABEL: name: reassociate_xors_sve_126    ; CHECK: liveins: $z0, $z1, $z2, $z327    ; CHECK-NEXT: {{  $}}28    ; CHECK-NEXT: [[COPY:%[0-9]+]]:zpr = COPY $z329    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:zpr = COPY $z230    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:zpr = COPY $z131    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:zpr = COPY $z032    ; CHECK-NEXT: [[EOR_ZZZ:%[0-9]+]]:zpr = EOR_ZZZ [[COPY3]], [[COPY2]]33    ; CHECK-NEXT: [[EOR_ZZZ1:%[0-9]+]]:zpr = EOR_ZZZ [[COPY1]], [[COPY]]34    ; CHECK-NEXT: [[EOR_ZZZ2:%[0-9]+]]:zpr = EOR_ZZZ killed [[EOR_ZZZ]], killed [[EOR_ZZZ1]]35    ; CHECK-NEXT: $z0 = COPY [[EOR_ZZZ2]]36    ; CHECK-NEXT: RET_ReallyLR implicit $z037    %3:zpr = COPY $z338    %2:zpr = COPY $z239    %1:zpr = COPY $z140    %0:zpr = COPY $z041    %4:zpr = EOR_ZZZ %0, %142    %5:zpr = EOR_ZZZ killed %4, %243    %6:zpr = EOR_ZZZ killed %5, %344    $z0 = COPY %645    RET_ReallyLR implicit $z046 47...48---49 50name:            reassociate_xors_sve_251registers:52  - { id: 0, class: zpr, preferred-register: '' }53  - { id: 1, class: zpr, preferred-register: '' }54  - { id: 2, class: zpr, preferred-register: '' }55  - { id: 3, class: zpr, preferred-register: '' }56  - { id: 4, class: zpr, preferred-register: '' }57  - { id: 5, class: zpr, preferred-register: '' }58  - { id: 6, class: zpr, preferred-register: '' }59body:             |60  bb.0:61    liveins: $z0, $z1, $z2, $z362 63    ; CHECK-LABEL: name: reassociate_xors_sve_264    ; CHECK: liveins: $z0, $z1, $z2, $z365    ; CHECK-NEXT: {{  $}}66    ; CHECK-NEXT: [[COPY:%[0-9]+]]:zpr = COPY $z367    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:zpr = COPY $z268    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:zpr = COPY $z169    ; CHECK-NEXT: [[COPY3:%[0-9]+]]:zpr = COPY $z070    ; CHECK-NEXT: [[AND_ZZZ:%[0-9]+]]:zpr = AND_ZZZ [[COPY3]], [[COPY2]]71    ; CHECK-NEXT: [[EOR_ZZZ:%[0-9]+]]:zpr = EOR_ZZZ [[COPY1]], [[COPY]]72    ; CHECK-NEXT: [[EOR_ZZZ1:%[0-9]+]]:zpr = EOR_ZZZ killed [[AND_ZZZ]], killed [[EOR_ZZZ]]73    ; CHECK-NEXT: $z0 = COPY [[EOR_ZZZ1]]74    ; CHECK-NEXT: RET_ReallyLR implicit $z075    %3:zpr = COPY $z376    %2:zpr = COPY $z277    %1:zpr = COPY $z178    %0:zpr = COPY $z079    %4:zpr = AND_ZZZ %0, %180    %5:zpr = EOR_ZZZ killed %4, %281    %6:zpr = EOR_ZZZ killed %5, %382    $z0 = COPY %683    RET_ReallyLR implicit $z084 85...86