[AArch64] Unroll some loops with early-continues on Apple Silicon. (#118499)
[llvm-project.git] / llvm / test / CodeGen / RISCV / GlobalISel / legalizer / legalize-fp-select-rv32.mir
blob487608f33b64bcbfe1357ad1634ee769ecabae0d
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 4
2 # RUN: llc -mtriple=riscv32 -mattr=+d -run-pass=legalizer %s -o - \
3 # RUN: | FileCheck %s
5 ---
6 name:            select_f64
7 tracksRegLiveness: true
8 body:             |
9   bb.1:
10     liveins: $x10, $f10_d, $f11_d
12     ; CHECK-LABEL: name: select_f64
13     ; CHECK: liveins: $x10, $f10_d, $f11_d
14     ; CHECK-NEXT: {{  $}}
15     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
16     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $f10_d
17     ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s64) = COPY $f11_d
18     ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
19     ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]
20     ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s64) = G_SELECT [[AND]](s32), [[COPY1]], [[COPY2]]
21     ; CHECK-NEXT: $f10_d = COPY [[SELECT]](s64)
22     ; CHECK-NEXT: PseudoRET implicit $f10_d
23     %3:_(s32) = COPY $x10
24     %0:_(s1) = G_TRUNC %3(s32)
25     %1:_(s64) = COPY $f10_d
26     %2:_(s64) = COPY $f11_d
27     %4:_(s64) = G_SELECT %0(s1), %1, %2
28     $f10_d = COPY %4(s64)
29     PseudoRET implicit $f10_d
31 ...