blob: 1f4d7f2eba403545146cd66fe0fe8e0ef55728fa [file] [edit]
# REQUIRES: asserts
# RUN: llc -filetype=null %s -mtriple=aarch64-unknown -mattr=+arith-cbz-fusion -passes=machine-scheduler -misched-print-dags 2>&1 | FileCheck %s
# RUN: llc -filetype=null %s -mtriple=aarch64-unknown -mcpu=cyclone -passes=machine-scheduler -misched-print-dags 2>&1 | FileCheck %s
# RUN: llc -filetype=null %s -mtriple=aarch64-unknown -mcpu=apple-m5 -passes=machine-scheduler -misched-print-dags 2>&1 | FileCheck %s
# CHECK-LABEL: addwri_cbz
# CHECK: SU({{[0-9]+}}): $w0 = ADDWri $w0, 13, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZW
---
name: addwri_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ADDWri $w0, 13, 0
$w3 = ORRWri $w2, 4096
CBZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addwri_cbnz
# CHECK: SU({{[0-9]+}}): $w0 = ADDWri $w0, 13, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: addwri_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ADDWri $w0, 13, 0
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addwri_tbz
# CHECK: SU({{[0-9]+}}): $w0 = ADDWri $w0, 13, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZW
---
name: addwri_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ADDWri $w0, 13, 0
$w3 = ORRWri $w2, 4096
TBZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addwri_tbnz
# CHECK: SU({{[0-9]+}}): $w0 = ADDWri $w0, 13, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZW
---
name: addwri_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ADDWri $w0, 13, 0
$w3 = ORRWri $w2, 4096
TBNZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addwrr_cbz
# CHECK: SU({{[0-9]+}}): $w0 = ADDWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZW
---
name: addwrr_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ADDWrr $w0, $w1
$w3 = ORRWri $w2, 4096
CBZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addwrr_cbnz
# CHECK: SU({{[0-9]+}}): $w0 = ADDWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: addwrr_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ADDWrr $w0, $w1
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addwrr_tbz
# CHECK: SU({{[0-9]+}}): $w0 = ADDWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZW
---
name: addwrr_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ADDWrr $w0, $w1
$w3 = ORRWri $w2, 4096
TBZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addwrr_tbnz
# CHECK: SU({{[0-9]+}}): $w0 = ADDWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZW
---
name: addwrr_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ADDWrr $w0, $w1
$w3 = ORRWri $w2, 4096
TBNZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addwrs_cbz
# CHECK: SU({{[0-9]+}}): $w0 = ADDWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZW
---
name: addwrs_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ADDWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
CBZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addwrs_cbnz
# CHECK: SU({{[0-9]+}}): $w0 = ADDWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: addwrs_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ADDWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addwrs_tbz
# CHECK: SU({{[0-9]+}}): $w0 = ADDWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZW
---
name: addwrs_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ADDWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
TBZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addwrs_tbnz
# CHECK: SU({{[0-9]+}}): $w0 = ADDWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZW
---
name: addwrs_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ADDWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
TBNZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: no_fuse_positive_shift_addwrs
# CHECK: SU({{[0-9]+}}): $w0 = ADDWrs $w0, $w1, 12
# CHECK: Successors:
# CHECK-NOT: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: no_fuse_positive_shift_addwrs
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ADDWrs $w0, $w1, 12
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andwri_cbz
# CHECK: SU({{[0-9]+}}): $w0 = ANDWri $w0, 4096
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZW
---
name: andwri_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ANDWri $w0, 4096
$w3 = ORRWri $w2, 4096
CBZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andwri_cbnz
# CHECK: SU({{[0-9]+}}): $w0 = ANDWri $w0, 4096
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: andwri_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ANDWri $w0, 4096
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andwri_tbz
# CHECK: SU({{[0-9]+}}): $w0 = ANDWri $w0, 4096
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZW
---
name: andwri_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ANDWri $w0, 4096
$w3 = ORRWri $w2, 4096
TBZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andwri_tbnz
# CHECK: SU({{[0-9]+}}): $w0 = ANDWri $w0, 4096
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZW
---
name: andwri_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ANDWri $w0, 4096
$w3 = ORRWri $w2, 4096
TBNZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andwrr_cbz
# CHECK: SU({{[0-9]+}}): $w0 = ANDWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZW
---
name: andwrr_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ANDWrr $w0, $w1
$w3 = ORRWri $w2, 4096
CBZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andwrr_cbnz
# CHECK: SU({{[0-9]+}}): $w0 = ANDWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: andwrr_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ANDWrr $w0, $w1
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andwrr_tbz
# CHECK: SU({{[0-9]+}}): $w0 = ANDWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZW
---
name: andwrr_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ANDWrr $w0, $w1
$w3 = ORRWri $w2, 4096
TBZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andwrr_tbnz
# CHECK: SU({{[0-9]+}}): $w0 = ANDWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZW
---
name: andwrr_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ANDWrr $w0, $w1
$w3 = ORRWri $w2, 4096
TBNZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andwrs_cbz
# CHECK: SU({{[0-9]+}}): $w0 = ANDWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZW
---
name: andwrs_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ANDWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
CBZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andwrs_cbnz
# CHECK: SU({{[0-9]+}}): $w0 = ANDWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: andwrs_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ANDWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andwrs_tbz
# CHECK: SU({{[0-9]+}}): $w0 = ANDWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZW
---
name: andwrs_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ANDWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
TBZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andwrs_tbnz
# CHECK: SU({{[0-9]+}}): $w0 = ANDWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZW
---
name: andwrs_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ANDWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
TBNZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: no_fuse_positive_shift_andwrs
# CHECK: SU({{[0-9]+}}): $w0 = ANDWrs $w0, $w1, 12
# CHECK: Successors:
# CHECK-NOT: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: no_fuse_positive_shift_andwrs
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ANDWrs $w0, $w1, 12
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorwri_cbz
# CHECK: SU({{[0-9]+}}): $w0 = EORWri $w0, 4096
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZW
---
name: eorwri_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = EORWri $w0, 4096
$w3 = ORRWri $w2, 4096
CBZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorwri_cbnz
# CHECK: SU({{[0-9]+}}): $w0 = EORWri $w0, 4096
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: eorwri_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = EORWri $w0, 4096
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorwri_tbz
# CHECK: SU({{[0-9]+}}): $w0 = EORWri $w0, 4096
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZW
---
name: eorwri_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = EORWri $w0, 4096
$w3 = ORRWri $w2, 4096
TBZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorwri_tbnz
# CHECK: SU({{[0-9]+}}): $w0 = EORWri $w0, 4096
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZW
---
name: eorwri_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = EORWri $w0, 4096
$w3 = ORRWri $w2, 4096
TBNZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorwrr_cbz
# CHECK: SU({{[0-9]+}}): $w0 = EORWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZW
---
name: eorwrr_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = EORWrr $w0, $w1
$w3 = ORRWri $w2, 4096
CBZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorwrr_cbnz
# CHECK: SU({{[0-9]+}}): $w0 = EORWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: eorwrr_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = EORWrr $w0, $w1
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorwrr_tbz
# CHECK: SU({{[0-9]+}}): $w0 = EORWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZW
---
name: eorwrr_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = EORWrr $w0, $w1
$w3 = ORRWri $w2, 4096
TBZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorwrr_tbnz
# CHECK: SU({{[0-9]+}}): $w0 = EORWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZW
---
name: eorwrr_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = EORWrr $w0, $w1
$w3 = ORRWri $w2, 4096
TBNZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorwrs_cbz
# CHECK: SU({{[0-9]+}}): $w0 = EORWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZW
---
name: eorwrs_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = EORWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
CBZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorwrs_cbnz
# CHECK: SU({{[0-9]+}}): $w0 = EORWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: eorwrs_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = EORWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorwrs_tbz
# CHECK: SU({{[0-9]+}}): $w0 = EORWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZW
---
name: eorwrs_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = EORWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
TBZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorwrs_tbnz
# CHECK: SU({{[0-9]+}}): $w0 = EORWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZW
---
name: eorwrs_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = EORWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
TBNZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: no_fuse_positive_shift_eorwrs
# CHECK: SU({{[0-9]+}}): $w0 = EORWrs $w0, $w1, 12
# CHECK: Successors:
# CHECK-NOT: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: no_fuse_positive_shift_eorwrs
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = EORWrs $w0, $w1, 12
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: ornwrr_cbz
# CHECK: SU({{[0-9]+}}): $w0 = ORNWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZW
---
name: ornwrr_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORNWrr $w0, $w1
$w3 = ORRWri $w2, 4096
CBZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: ornwrr_cbnz
# CHECK: SU({{[0-9]+}}): $w0 = ORNWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: ornwrr_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORNWrr $w0, $w1
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: ornwrr_tbz
# CHECK: SU({{[0-9]+}}): $w0 = ORNWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZW
---
name: ornwrr_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORNWrr $w0, $w1
$w3 = ORRWri $w2, 4096
TBZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: ornwrr_tbnz
# CHECK: SU({{[0-9]+}}): $w0 = ORNWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZW
---
name: ornwrr_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORNWrr $w0, $w1
$w3 = ORRWri $w2, 4096
TBNZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: ornwrs_cbz
# CHECK: SU({{[0-9]+}}): $w0 = ORNWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZW
---
name: ornwrs_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORNWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
CBZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: ornwrs_cbnz
# CHECK: SU({{[0-9]+}}): $w0 = ORNWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: ornwrs_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORNWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: ornwrs_tbz
# CHECK: SU({{[0-9]+}}): $w0 = ORNWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZW
---
name: ornwrs_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORNWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
TBZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: ornwrs_tbnz
# CHECK: SU({{[0-9]+}}): $w0 = ORNWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZW
---
name: ornwrs_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORNWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
TBNZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: no_fuse_positive_shift_ornwrs
# CHECK: SU({{[0-9]+}}): $w0 = ORNWrs $w0, $w1, 12
# CHECK: Successors:
# CHECK-NOT: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: no_fuse_positive_shift_ornwrs
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORNWrs $w0, $w1, 12
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrwri_cbz
# CHECK: SU({{[0-9]+}}): $w0 = ORRWri $w0, 4096
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZW
---
name: orrwri_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORRWri $w0, 4096
$w3 = ORRWri $w2, 4096
CBZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrwri_cbnz
# CHECK: SU({{[0-9]+}}): $w0 = ORRWri $w0, 4096
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: orrwri_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORRWri $w0, 4096
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrwri_tbz
# CHECK: SU({{[0-9]+}}): $w0 = ORRWri $w0, 4096
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZW
---
name: orrwri_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORRWri $w0, 4096
$w3 = ORRWri $w2, 4096
TBZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrwri_tbnz
# CHECK: SU({{[0-9]+}}): $w0 = ORRWri $w0, 4096
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZW
---
name: orrwri_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORRWri $w0, 4096
$w3 = ORRWri $w2, 4096
TBNZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrwrr_cbz
# CHECK: SU({{[0-9]+}}): $w0 = ORRWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZW
---
name: orrwrr_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORRWrr $w0, $w1
$w3 = ORRWri $w2, 4096
CBZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrwrr_cbnz
# CHECK: SU({{[0-9]+}}): $w0 = ORRWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: orrwrr_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORRWrr $w0, $w1
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrwrr_tbz
# CHECK: SU({{[0-9]+}}): $w0 = ORRWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZW
---
name: orrwrr_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORRWrr $w0, $w1
$w3 = ORRWri $w2, 4096
TBZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrwrr_tbnz
# CHECK: SU({{[0-9]+}}): $w0 = ORRWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZW
---
name: orrwrr_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORRWrr $w0, $w1
$w3 = ORRWri $w2, 4096
TBNZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrwrs_cbz
# CHECK: SU({{[0-9]+}}): $w0 = ORRWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZW
---
name: orrwrs_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORRWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
CBZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrwrs_cbnz
# CHECK: SU({{[0-9]+}}): $w0 = ORRWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: orrwrs_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORRWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrwrs_tbz
# CHECK: SU({{[0-9]+}}): $w0 = ORRWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZW
---
name: orrwrs_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORRWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
TBZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrwrs_tbnz
# CHECK: SU({{[0-9]+}}): $w0 = ORRWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZW
---
name: orrwrs_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORRWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
TBNZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: no_fuse_positive_shift_orrwrs
# CHECK: SU({{[0-9]+}}): $w0 = ORRWrs $w0, $w1, 12
# CHECK: Successors:
# CHECK-NOT: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: no_fuse_positive_shift_orrwrs
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = ORRWrs $w0, $w1, 12
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subwri_cbz
# CHECK: SU({{[0-9]+}}): $w0 = SUBWri $w0, 13, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZW
---
name: subwri_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = SUBWri $w0, 13, 0
$w3 = ORRWri $w2, 4096
CBZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subwri_cbnz
# CHECK: SU({{[0-9]+}}): $w0 = SUBWri $w0, 13, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: subwri_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = SUBWri $w0, 13, 0
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subwri_tbz
# CHECK: SU({{[0-9]+}}): $w0 = SUBWri $w0, 13, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZW
---
name: subwri_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = SUBWri $w0, 13, 0
$w3 = ORRWri $w2, 4096
TBZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subwri_tbnz
# CHECK: SU({{[0-9]+}}): $w0 = SUBWri $w0, 13, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZW
---
name: subwri_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = SUBWri $w0, 13, 0
$w3 = ORRWri $w2, 4096
TBNZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subwrr_cbz
# CHECK: SU({{[0-9]+}}): $w0 = SUBWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZW
---
name: subwrr_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = SUBWrr $w0, $w1
$w3 = ORRWri $w2, 4096
CBZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subwrr_cbnz
# CHECK: SU({{[0-9]+}}): $w0 = SUBWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: subwrr_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = SUBWrr $w0, $w1
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subwrr_tbz
# CHECK: SU({{[0-9]+}}): $w0 = SUBWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZW
---
name: subwrr_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = SUBWrr $w0, $w1
$w3 = ORRWri $w2, 4096
TBZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subwrr_tbnz
# CHECK: SU({{[0-9]+}}): $w0 = SUBWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZW
---
name: subwrr_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = SUBWrr $w0, $w1
$w3 = ORRWri $w2, 4096
TBNZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subwrs_cbz
# CHECK: SU({{[0-9]+}}): $w0 = SUBWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZW
---
name: subwrs_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = SUBWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
CBZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subwrs_cbnz
# CHECK: SU({{[0-9]+}}): $w0 = SUBWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: subwrs_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = SUBWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subwrs_tbz
# CHECK: SU({{[0-9]+}}): $w0 = SUBWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZW
---
name: subwrs_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = SUBWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
TBZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subwrs_tbnz
# CHECK: SU({{[0-9]+}}): $w0 = SUBWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZW
---
name: subwrs_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = SUBWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
TBNZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: no_fuse_positive_shift_subwrs
# CHECK: SU({{[0-9]+}}): $w0 = SUBWrs $w0, $w1, 12
# CHECK: Successors:
# CHECK-NOT: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: no_fuse_positive_shift_subwrs
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = SUBWrs $w0, $w1, 12
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: bicwrr_cbz
# CHECK: SU({{[0-9]+}}): $w0 = BICWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZW
---
name: bicwrr_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = BICWrr $w0, $w1
$w3 = ORRWri $w2, 4096
CBZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: bicwrr_cbnz
# CHECK: SU({{[0-9]+}}): $w0 = BICWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: bicwrr_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = BICWrr $w0, $w1
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: bicwrr_tbz
# CHECK: SU({{[0-9]+}}): $w0 = BICWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZW
---
name: bicwrr_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = BICWrr $w0, $w1
$w3 = ORRWri $w2, 4096
TBZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: bicwrr_tbnz
# CHECK: SU({{[0-9]+}}): $w0 = BICWrr $w0, $w1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZW
---
name: bicwrr_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = BICWrr $w0, $w1
$w3 = ORRWri $w2, 4096
TBNZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: bicwrs_cbz
# CHECK: SU({{[0-9]+}}): $w0 = BICWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZW
---
name: bicwrs_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = BICWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
CBZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: bicwrs_cbnz
# CHECK: SU({{[0-9]+}}): $w0 = BICWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: bicwrs_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = BICWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: bicwrs_tbz
# CHECK: SU({{[0-9]+}}): $w0 = BICWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZW
---
name: bicwrs_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = BICWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
TBZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: bicwrs_tbnz
# CHECK: SU({{[0-9]+}}): $w0 = BICWrs $w0, $w1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZW
---
name: bicwrs_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = BICWrs $w0, $w1, 0
$w3 = ORRWri $w2, 4096
TBNZW $w0, 8, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: no_fuse_positive_shift_bicwrs
# CHECK: SU({{[0-9]+}}): $w0 = BICWrs $w0, $w1, 12
# CHECK: Successors:
# CHECK-NOT: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZW
---
name: no_fuse_positive_shift_bicwrs
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $w0, $w1, $w2
$w0 = BICWrs $w0, $w1, 12
$w3 = ORRWri $w2, 4096
CBNZW $w0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addxri_cbz
# CHECK: SU({{[0-9]+}}): $x0 = ADDXri $x0, 13, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZX
---
name: addxri_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ADDXri $x0, 13, 0
$x3 = ORRXri $x2, 8192
CBZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addxri_cbnz
# CHECK: SU({{[0-9]+}}): $x0 = ADDXri $x0, 13, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: addxri_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ADDXri $x0, 13, 0
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addxri_tbz
# CHECK: SU({{[0-9]+}}): $x0 = ADDXri $x0, 13, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZX
---
name: addxri_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ADDXri $x0, 13, 0
$x3 = ORRXri $x2, 8192
TBZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addxri_tbnz
# CHECK: SU({{[0-9]+}}): $x0 = ADDXri $x0, 13, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZX
---
name: addxri_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ADDXri $x0, 13, 0
$x3 = ORRXri $x2, 8192
TBNZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addxrr_cbz
# CHECK: SU({{[0-9]+}}): $x0 = ADDXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZX
---
name: addxrr_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ADDXrr $x0, $x1
$x3 = ORRXri $x2, 8192
CBZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addxrr_cbnz
# CHECK: SU({{[0-9]+}}): $x0 = ADDXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: addxrr_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ADDXrr $x0, $x1
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addxrr_tbz
# CHECK: SU({{[0-9]+}}): $x0 = ADDXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZX
---
name: addxrr_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ADDXrr $x0, $x1
$x3 = ORRXri $x2, 8192
TBZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addxrr_tbnz
# CHECK: SU({{[0-9]+}}): $x0 = ADDXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZX
---
name: addxrr_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ADDXrr $x0, $x1
$x3 = ORRXri $x2, 8192
TBNZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addxrs_cbz
# CHECK: SU({{[0-9]+}}): $x0 = ADDXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZX
---
name: addxrs_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ADDXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
CBZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addxrs_cbnz
# CHECK: SU({{[0-9]+}}): $x0 = ADDXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: addxrs_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ADDXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addxrs_tbz
# CHECK: SU({{[0-9]+}}): $x0 = ADDXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZX
---
name: addxrs_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ADDXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
TBZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: addxrs_tbnz
# CHECK: SU({{[0-9]+}}): $x0 = ADDXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZX
---
name: addxrs_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ADDXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
TBNZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: no_fuse_positive_shift_addxrs
# CHECK: SU({{[0-9]+}}): $x0 = ADDXrs $x0, $x1, 12
# CHECK: Successors:
# CHECK-NOT: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: no_fuse_positive_shift_addxrs
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ADDXrs $x0, $x1, 12
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andxri_cbz
# CHECK: SU({{[0-9]+}}): $x0 = ANDXri $x0, 8192
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZX
---
name: andxri_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ANDXri $x0, 8192
$x3 = ORRXri $x2, 8192
CBZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andxri_cbnz
# CHECK: SU({{[0-9]+}}): $x0 = ANDXri $x0, 8192
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: andxri_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ANDXri $x0, 8192
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andxri_tbz
# CHECK: SU({{[0-9]+}}): $x0 = ANDXri $x0, 8192
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZX
---
name: andxri_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ANDXri $x0, 8192
$x3 = ORRXri $x2, 8192
TBZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andxri_tbnz
# CHECK: SU({{[0-9]+}}): $x0 = ANDXri $x0, 8192
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZX
---
name: andxri_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ANDXri $x0, 8192
$x3 = ORRXri $x2, 8192
TBNZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andxrr_cbz
# CHECK: SU({{[0-9]+}}): $x0 = ANDXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZX
---
name: andxrr_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ANDXrr $x0, $x1
$x3 = ORRXri $x2, 8192
CBZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andxrr_cbnz
# CHECK: SU({{[0-9]+}}): $x0 = ANDXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: andxrr_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ANDXrr $x0, $x1
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andxrr_tbz
# CHECK: SU({{[0-9]+}}): $x0 = ANDXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZX
---
name: andxrr_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ANDXrr $x0, $x1
$x3 = ORRXri $x2, 8192
TBZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andxrr_tbnz
# CHECK: SU({{[0-9]+}}): $x0 = ANDXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZX
---
name: andxrr_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ANDXrr $x0, $x1
$x3 = ORRXri $x2, 8192
TBNZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andxrs_cbz
# CHECK: SU({{[0-9]+}}): $x0 = ANDXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZX
---
name: andxrs_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ANDXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
CBZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andxrs_cbnz
# CHECK: SU({{[0-9]+}}): $x0 = ANDXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: andxrs_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ANDXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andxrs_tbz
# CHECK: SU({{[0-9]+}}): $x0 = ANDXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZX
---
name: andxrs_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ANDXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
TBZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: andxrs_tbnz
# CHECK: SU({{[0-9]+}}): $x0 = ANDXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZX
---
name: andxrs_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ANDXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
TBNZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: no_fuse_positive_shift_andxrs
# CHECK: SU({{[0-9]+}}): $x0 = ANDXrs $x0, $x1, 12
# CHECK: Successors:
# CHECK-NOT: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: no_fuse_positive_shift_andxrs
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ANDXrs $x0, $x1, 12
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorxri_cbz
# CHECK: SU({{[0-9]+}}): $x0 = EORXri $x0, 8192
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZX
---
name: eorxri_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = EORXri $x0, 8192
$x3 = ORRXri $x2, 8192
CBZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorxri_cbnz
# CHECK: SU({{[0-9]+}}): $x0 = EORXri $x0, 8192
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: eorxri_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = EORXri $x0, 8192
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorxri_tbz
# CHECK: SU({{[0-9]+}}): $x0 = EORXri $x0, 8192
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZX
---
name: eorxri_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = EORXri $x0, 8192
$x3 = ORRXri $x2, 8192
TBZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorxri_tbnz
# CHECK: SU({{[0-9]+}}): $x0 = EORXri $x0, 8192
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZX
---
name: eorxri_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = EORXri $x0, 8192
$x3 = ORRXri $x2, 8192
TBNZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorxrr_cbz
# CHECK: SU({{[0-9]+}}): $x0 = EORXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZX
---
name: eorxrr_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = EORXrr $x0, $x1
$x3 = ORRXri $x2, 8192
CBZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorxrr_cbnz
# CHECK: SU({{[0-9]+}}): $x0 = EORXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: eorxrr_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = EORXrr $x0, $x1
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorxrr_tbz
# CHECK: SU({{[0-9]+}}): $x0 = EORXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZX
---
name: eorxrr_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = EORXrr $x0, $x1
$x3 = ORRXri $x2, 8192
TBZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorxrr_tbnz
# CHECK: SU({{[0-9]+}}): $x0 = EORXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZX
---
name: eorxrr_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = EORXrr $x0, $x1
$x3 = ORRXri $x2, 8192
TBNZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorxrs_cbz
# CHECK: SU({{[0-9]+}}): $x0 = EORXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZX
---
name: eorxrs_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = EORXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
CBZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorxrs_cbnz
# CHECK: SU({{[0-9]+}}): $x0 = EORXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: eorxrs_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = EORXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorxrs_tbz
# CHECK: SU({{[0-9]+}}): $x0 = EORXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZX
---
name: eorxrs_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = EORXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
TBZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: eorxrs_tbnz
# CHECK: SU({{[0-9]+}}): $x0 = EORXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZX
---
name: eorxrs_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = EORXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
TBNZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: no_fuse_positive_shift_eorxrs
# CHECK: SU({{[0-9]+}}): $x0 = EORXrs $x0, $x1, 12
# CHECK: Successors:
# CHECK-NOT: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: no_fuse_positive_shift_eorxrs
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = EORXrs $x0, $x1, 12
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: ornxrr_cbz
# CHECK: SU({{[0-9]+}}): $x0 = ORNXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZX
---
name: ornxrr_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORNXrr $x0, $x1
$x3 = ORRXri $x2, 8192
CBZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: ornxrr_cbnz
# CHECK: SU({{[0-9]+}}): $x0 = ORNXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: ornxrr_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORNXrr $x0, $x1
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: ornxrr_tbz
# CHECK: SU({{[0-9]+}}): $x0 = ORNXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZX
---
name: ornxrr_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORNXrr $x0, $x1
$x3 = ORRXri $x2, 8192
TBZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: ornxrr_tbnz
# CHECK: SU({{[0-9]+}}): $x0 = ORNXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZX
---
name: ornxrr_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORNXrr $x0, $x1
$x3 = ORRXri $x2, 8192
TBNZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: ornxrs_cbz
# CHECK: SU({{[0-9]+}}): $x0 = ORNXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZX
---
name: ornxrs_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORNXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
CBZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: ornxrs_cbnz
# CHECK: SU({{[0-9]+}}): $x0 = ORNXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: ornxrs_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORNXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: ornxrs_tbz
# CHECK: SU({{[0-9]+}}): $x0 = ORNXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZX
---
name: ornxrs_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORNXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
TBZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: ornxrs_tbnz
# CHECK: SU({{[0-9]+}}): $x0 = ORNXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZX
---
name: ornxrs_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORNXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
TBNZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: no_fuse_positive_shift_ornxrs
# CHECK: SU({{[0-9]+}}): $x0 = ORNXrs $x0, $x1, 12
# CHECK: Successors:
# CHECK-NOT: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: no_fuse_positive_shift_ornxrs
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORNXrs $x0, $x1, 12
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrxri_cbz
# CHECK: SU({{[0-9]+}}): $x0 = ORRXri $x0, 8192
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZX
---
name: orrxri_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORRXri $x0, 8192
$x3 = ORRXri $x2, 8192
CBZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrxri_cbnz
# CHECK: SU({{[0-9]+}}): $x0 = ORRXri $x0, 8192
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: orrxri_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORRXri $x0, 8192
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrxri_tbz
# CHECK: SU({{[0-9]+}}): $x0 = ORRXri $x0, 8192
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZX
---
name: orrxri_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORRXri $x0, 8192
$x3 = ORRXri $x2, 8192
TBZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrxri_tbnz
# CHECK: SU({{[0-9]+}}): $x0 = ORRXri $x0, 8192
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZX
---
name: orrxri_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORRXri $x0, 8192
$x3 = ORRXri $x2, 8192
TBNZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrxrr_cbz
# CHECK: SU({{[0-9]+}}): $x0 = ORRXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZX
---
name: orrxrr_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORRXrr $x0, $x1
$x3 = ORRXri $x2, 8192
CBZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrxrr_cbnz
# CHECK: SU({{[0-9]+}}): $x0 = ORRXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: orrxrr_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORRXrr $x0, $x1
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrxrr_tbz
# CHECK: SU({{[0-9]+}}): $x0 = ORRXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZX
---
name: orrxrr_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORRXrr $x0, $x1
$x3 = ORRXri $x2, 8192
TBZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrxrr_tbnz
# CHECK: SU({{[0-9]+}}): $x0 = ORRXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZX
---
name: orrxrr_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORRXrr $x0, $x1
$x3 = ORRXri $x2, 8192
TBNZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrxrs_cbz
# CHECK: SU({{[0-9]+}}): $x0 = ORRXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZX
---
name: orrxrs_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORRXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
CBZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrxrs_cbnz
# CHECK: SU({{[0-9]+}}): $x0 = ORRXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: orrxrs_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORRXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrxrs_tbz
# CHECK: SU({{[0-9]+}}): $x0 = ORRXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZX
---
name: orrxrs_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORRXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
TBZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: orrxrs_tbnz
# CHECK: SU({{[0-9]+}}): $x0 = ORRXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZX
---
name: orrxrs_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORRXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
TBNZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: no_fuse_positive_shift_orrxrs
# CHECK: SU({{[0-9]+}}): $x0 = ORRXrs $x0, $x1, 12
# CHECK: Successors:
# CHECK-NOT: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: no_fuse_positive_shift_orrxrs
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = ORRXrs $x0, $x1, 12
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subxri_cbz
# CHECK: SU({{[0-9]+}}): $x0 = SUBXri $x0, 13, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZX
---
name: subxri_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = SUBXri $x0, 13, 0
$x3 = ORRXri $x2, 8192
CBZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subxri_cbnz
# CHECK: SU({{[0-9]+}}): $x0 = SUBXri $x0, 13, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: subxri_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = SUBXri $x0, 13, 0
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subxri_tbz
# CHECK: SU({{[0-9]+}}): $x0 = SUBXri $x0, 13, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZX
---
name: subxri_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = SUBXri $x0, 13, 0
$x3 = ORRXri $x2, 8192
TBZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subxri_tbnz
# CHECK: SU({{[0-9]+}}): $x0 = SUBXri $x0, 13, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZX
---
name: subxri_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = SUBXri $x0, 13, 0
$x3 = ORRXri $x2, 8192
TBNZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subxrr_cbz
# CHECK: SU({{[0-9]+}}): $x0 = SUBXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZX
---
name: subxrr_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = SUBXrr $x0, $x1
$x3 = ORRXri $x2, 8192
CBZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subxrr_cbnz
# CHECK: SU({{[0-9]+}}): $x0 = SUBXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: subxrr_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = SUBXrr $x0, $x1
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subxrr_tbz
# CHECK: SU({{[0-9]+}}): $x0 = SUBXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZX
---
name: subxrr_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = SUBXrr $x0, $x1
$x3 = ORRXri $x2, 8192
TBZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subxrr_tbnz
# CHECK: SU({{[0-9]+}}): $x0 = SUBXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZX
---
name: subxrr_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = SUBXrr $x0, $x1
$x3 = ORRXri $x2, 8192
TBNZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subxrs_cbz
# CHECK: SU({{[0-9]+}}): $x0 = SUBXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZX
---
name: subxrs_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = SUBXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
CBZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subxrs_cbnz
# CHECK: SU({{[0-9]+}}): $x0 = SUBXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: subxrs_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = SUBXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subxrs_tbz
# CHECK: SU({{[0-9]+}}): $x0 = SUBXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZX
---
name: subxrs_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = SUBXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
TBZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: subxrs_tbnz
# CHECK: SU({{[0-9]+}}): $x0 = SUBXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZX
---
name: subxrs_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = SUBXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
TBNZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: no_fuse_positive_shift_subxrs
# CHECK: SU({{[0-9]+}}): $x0 = SUBXrs $x0, $x1, 12
# CHECK: Successors:
# CHECK-NOT: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: no_fuse_positive_shift_subxrs
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = SUBXrs $x0, $x1, 12
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: bicxrr_cbz
# CHECK: SU({{[0-9]+}}): $x0 = BICXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZX
---
name: bicxrr_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = BICXrr $x0, $x1
$x3 = ORRXri $x2, 8192
CBZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: bicxrr_cbnz
# CHECK: SU({{[0-9]+}}): $x0 = BICXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: bicxrr_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = BICXrr $x0, $x1
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: bicxrr_tbz
# CHECK: SU({{[0-9]+}}): $x0 = BICXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZX
---
name: bicxrr_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = BICXrr $x0, $x1
$x3 = ORRXri $x2, 8192
TBZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: bicxrr_tbnz
# CHECK: SU({{[0-9]+}}): $x0 = BICXrr $x0, $x1
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZX
---
name: bicxrr_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = BICXrr $x0, $x1
$x3 = ORRXri $x2, 8192
TBNZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: bicxrs_cbz
# CHECK: SU({{[0-9]+}}): $x0 = BICXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBZX
---
name: bicxrs_cbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = BICXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
CBZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: bicxrs_cbnz
# CHECK: SU({{[0-9]+}}): $x0 = BICXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: bicxrs_cbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = BICXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: bicxrs_tbz
# CHECK: SU({{[0-9]+}}): $x0 = BICXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBZX
---
name: bicxrs_tbz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = BICXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
TBZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: bicxrs_tbnz
# CHECK: SU({{[0-9]+}}): $x0 = BICXrs $x0, $x1, 0
# CHECK: Successors:
# CHECK: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: TBNZX
---
name: bicxrs_tbnz
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = BICXrs $x0, $x1, 0
$x3 = ORRXri $x2, 8192
TBNZX $x0, 32, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...
# CHECK-LABEL: no_fuse_positive_shift_bicxrs
# CHECK: SU({{[0-9]+}}): $x0 = BICXrs $x0, $x1, 12
# CHECK: Successors:
# CHECK-NOT: ExitSU: Ord Latency={{[0-9]+}} Cluster
# CHECK: ExitSU: CBNZX
---
name: no_fuse_positive_shift_bicxrs
tracksRegLiveness: true
isSSA: false
noVRegs: true
body: |
bb.0:
successors: %bb.1, %bb.2
liveins: $x0, $x1, $x2
$x0 = BICXrs $x0, $x1, 12
$x3 = ORRXri $x2, 8192
CBNZX $x0, %bb.2
bb.1:
RET undef $lr
bb.2:
RET undef $lr
...