[TableGen] Add TreePatternNode::children and use it in for loops (NFC) (#119877)
[llvm-project.git] / llvm / test / CodeGen / RISCV / GlobalISel / regbankselect / is-fpclass-rv64.mir
blob9e602b3ed94c3d60f8d5c1d5e6bfec2a4d2e0778
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 3
2 # RUN: llc -mtriple=riscv64 -mattr=+d -run-pass=regbankselect -verify-machineinstrs %s -o - \
3 # RUN: | FileCheck %s
5 ---
6 name:            is_fpclass_f32
7 legalized:       true
8 body:             |
9   bb.0:
10     liveins: $f10_f
12     ; CHECK-LABEL: name: is_fpclass_f32
13     ; CHECK: liveins: $f10_f
14     ; CHECK-NEXT: {{  $}}
15     ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f10_f
16     ; CHECK-NEXT: [[C:%[0-9]+]]:gprb(s64) = G_CONSTANT i64 152
17     ; CHECK-NEXT: [[C1:%[0-9]+]]:gprb(s64) = G_CONSTANT i64 0
18     ; CHECK-NEXT: [[FCLASS:%[0-9]+]]:gprb(s64) = G_FCLASS [[COPY]](s32)
19     ; CHECK-NEXT: [[AND:%[0-9]+]]:gprb(s64) = G_AND [[FCLASS]], [[C]]
20     ; CHECK-NEXT: [[ICMP:%[0-9]+]]:gprb(s64) = G_ICMP intpred(ne), [[AND]](s64), [[C1]]
21     ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)
22     ; CHECK-NEXT: PseudoRET implicit $x10
23     %0:_(s32) = COPY $f10_f
24     %3:_(s64) = G_CONSTANT i64 152
25     %4:_(s64) = G_CONSTANT i64 0
26     %5:_(s64) = G_FCLASS %0(s32)
27     %6:_(s64) = G_AND %5, %3
28     %7:_(s64) = G_ICMP intpred(ne), %6(s64), %4
29     $x10 = COPY %7(s64)
30     PseudoRET implicit $x10
31 ...
32 ---
33 name:            is_fpclass_f64
34 legalized:       true
35 body:             |
36   bb.0:
37     liveins: $f10_d
39     ; CHECK-LABEL: name: is_fpclass_f64
40     ; CHECK: liveins: $f10_d
41     ; CHECK-NEXT: {{  $}}
42     ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s64) = COPY $f10_d
43     ; CHECK-NEXT: [[C:%[0-9]+]]:gprb(s64) = G_CONSTANT i64 152
44     ; CHECK-NEXT: [[C1:%[0-9]+]]:gprb(s64) = G_CONSTANT i64 0
45     ; CHECK-NEXT: [[FCLASS:%[0-9]+]]:gprb(s64) = G_FCLASS [[COPY]](s64)
46     ; CHECK-NEXT: [[AND:%[0-9]+]]:gprb(s64) = G_AND [[FCLASS]], [[C]]
47     ; CHECK-NEXT: [[ICMP:%[0-9]+]]:gprb(s64) = G_ICMP intpred(ne), [[AND]](s64), [[C1]]
48     ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)
49     ; CHECK-NEXT: PseudoRET implicit $x10
50     %0:_(s64) = COPY $f10_d
51     %3:_(s64) = G_CONSTANT i64 152
52     %4:_(s64) = G_CONSTANT i64 0
53     %5:_(s64) = G_FCLASS %0(s64)
54     %6:_(s64) = G_AND %5, %3
55     %7:_(s64) = G_ICMP intpred(ne), %6(s64), %4
56     $x10 = COPY %7(s64)
57     PseudoRET implicit $x10
58 ...