brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.4 KiB · 7a5d98f Raw
83 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=riscv32 -verify-machineinstrs -mcpu=syntacore-scr1-max \3; RUN: -O1 -riscv-enable-machine-combiner=true -riscv-force-machine-combiner-strategy=local < %s | \4; RUN: FileCheck %s --check-prefixes=CHECK_LOCAL_SCR15 6; RUN: llc -mtriple=riscv32 -verify-machineinstrs -mcpu=syntacore-scr1-max \7; RUN: -O1 -riscv-enable-machine-combiner=true -riscv-force-machine-combiner-strategy=min-instr < %s | \8; RUN: FileCheck %s --check-prefixes=CHECK_GLOBAL_SCR19 10; RUN: llc -mtriple=riscv64 -verify-machineinstrs -mcpu=sifive-u74 \11; RUN: -O1 -riscv-enable-machine-combiner=true -riscv-force-machine-combiner-strategy=local < %s | \12; RUN: FileCheck %s --check-prefixes=CHECK_LOCAL_SIFIVE_U7413 14; RUN: llc -mtriple=riscv64 -verify-machineinstrs -mcpu=sifive-u74 \15; RUN: -O1 -riscv-enable-machine-combiner=true -riscv-force-machine-combiner-strategy=min-instr < %s | \16; RUN: FileCheck %s --check-prefixes=CHECK_GLOBAL_SIFIVE_U7417 18define i32 @test_local_strategy(i32 %a0, i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5) {19; CHECK_LOCAL_SCR1-LABEL: test_local_strategy:20; CHECK_LOCAL_SCR1:       # %bb.0: # %entry21; CHECK_LOCAL_SCR1-NEXT:    div a0, a0, a122; CHECK_LOCAL_SCR1-NEXT:    sub a0, a0, a223; CHECK_LOCAL_SCR1-NEXT:    beqz a0, .LBB0_224; CHECK_LOCAL_SCR1-NEXT:  # %bb.1: # %b225; CHECK_LOCAL_SCR1-NEXT:    ret26; CHECK_LOCAL_SCR1-NEXT:  .LBB0_2: # %b127; CHECK_LOCAL_SCR1-NEXT:    add a3, a3, a428; CHECK_LOCAL_SCR1-NEXT:    add a0, a0, a529; CHECK_LOCAL_SCR1-NEXT:    add a0, a0, a330; CHECK_LOCAL_SCR1-NEXT:    ret31;32; CHECK_GLOBAL_SCR1-LABEL: test_local_strategy:33; CHECK_GLOBAL_SCR1:       # %bb.0: # %entry34; CHECK_GLOBAL_SCR1-NEXT:    div a0, a0, a135; CHECK_GLOBAL_SCR1-NEXT:    sub a0, a0, a236; CHECK_GLOBAL_SCR1-NEXT:    beqz a0, .LBB0_237; CHECK_GLOBAL_SCR1-NEXT:  # %bb.1: # %b238; CHECK_GLOBAL_SCR1-NEXT:    ret39; CHECK_GLOBAL_SCR1-NEXT:  .LBB0_2: # %b140; CHECK_GLOBAL_SCR1-NEXT:    add a3, a3, a441; CHECK_GLOBAL_SCR1-NEXT:    add a3, a3, a542; CHECK_GLOBAL_SCR1-NEXT:    add a0, a0, a343; CHECK_GLOBAL_SCR1-NEXT:    ret44;45; CHECK_LOCAL_SIFIVE_U74-LABEL: test_local_strategy:46; CHECK_LOCAL_SIFIVE_U74:       # %bb.0: # %entry47; CHECK_LOCAL_SIFIVE_U74-NEXT:    divw a0, a0, a148; CHECK_LOCAL_SIFIVE_U74-NEXT:    subw a0, a0, a249; CHECK_LOCAL_SIFIVE_U74-NEXT:    beqz a0, .LBB0_250; CHECK_LOCAL_SIFIVE_U74-NEXT:  # %bb.1: # %b251; CHECK_LOCAL_SIFIVE_U74-NEXT:    ret52; CHECK_LOCAL_SIFIVE_U74-NEXT:  .LBB0_2: # %b153; CHECK_LOCAL_SIFIVE_U74-NEXT:    add a3, a3, a454; CHECK_LOCAL_SIFIVE_U74-NEXT:    add a0, a0, a555; CHECK_LOCAL_SIFIVE_U74-NEXT:    addw a0, a0, a356; CHECK_LOCAL_SIFIVE_U74-NEXT:    ret57;58; CHECK_GLOBAL_SIFIVE_U74-LABEL: test_local_strategy:59; CHECK_GLOBAL_SIFIVE_U74:       # %bb.0: # %entry60; CHECK_GLOBAL_SIFIVE_U74-NEXT:    divw a0, a0, a161; CHECK_GLOBAL_SIFIVE_U74-NEXT:    subw a0, a0, a262; CHECK_GLOBAL_SIFIVE_U74-NEXT:    beqz a0, .LBB0_263; CHECK_GLOBAL_SIFIVE_U74-NEXT:  # %bb.1: # %b264; CHECK_GLOBAL_SIFIVE_U74-NEXT:    ret65; CHECK_GLOBAL_SIFIVE_U74-NEXT:  .LBB0_2: # %b166; CHECK_GLOBAL_SIFIVE_U74-NEXT:    add a3, a3, a467; CHECK_GLOBAL_SIFIVE_U74-NEXT:    add a3, a3, a568; CHECK_GLOBAL_SIFIVE_U74-NEXT:    addw a0, a0, a369; CHECK_GLOBAL_SIFIVE_U74-NEXT:    ret70entry:71  %div = sdiv i32 %a0, %a172  %sub0 = sub i32 %div, %a273  %cmp = icmp eq i32 %sub0, 074  br i1 %cmp, label %b1, label %b275b1:76  %sub1 = add i32 %a3, %a477  %sub2 = add i32 %a5, %sub178  %sub3 = add i32 %sub2, %sub079  ret i32 %sub380b2:81  ret i32 %sub082}83