Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / RISCV / GlobalISel / instruction-select / minmax-rv32.mir
blob891a34fa05630c96dbec2ba863bc285768426f49
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=riscv32 -mattr=+zbb -run-pass=instruction-select \
3 # RUN:   -simplify-mir -verify-machineinstrs %s -o - \
4 # RUN:   | FileCheck -check-prefix=RV32I %s
6 ---
7 name:            smax_i32
8 legalized:       true
9 regBankSelected: true
10 body:             |
11   bb.0.entry:
12     ; RV32I-LABEL: name: smax_i32
13     ; RV32I: [[COPY:%[0-9]+]]:gpr = COPY $x10
14     ; RV32I-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11
15     ; RV32I-NEXT: [[MAX:%[0-9]+]]:gpr = MAX [[COPY]], [[COPY1]]
16     ; RV32I-NEXT: $x10 = COPY [[MAX]]
17     ; RV32I-NEXT: PseudoRET implicit $x10
18     %0:gprb(s32) = COPY $x10
19     %1:gprb(s32) = COPY $x11
20     %2:gprb(s32) = G_SMAX %0, %1
21     $x10 = COPY %2(s32)
22     PseudoRET implicit $x10
24 ...
25 ---
26 name:            smin_i32
27 legalized:       true
28 regBankSelected: true
29 body:             |
30   bb.0.entry:
31     ; RV32I-LABEL: name: smin_i32
32     ; RV32I: [[COPY:%[0-9]+]]:gpr = COPY $x10
33     ; RV32I-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11
34     ; RV32I-NEXT: [[MIN:%[0-9]+]]:gpr = MIN [[COPY]], [[COPY1]]
35     ; RV32I-NEXT: $x10 = COPY [[MIN]]
36     ; RV32I-NEXT: PseudoRET implicit $x10
37     %0:gprb(s32) = COPY $x10
38     %1:gprb(s32) = COPY $x11
39     %2:gprb(s32) = G_SMIN %0, %1
40     $x10 = COPY %2(s32)
41     PseudoRET implicit $x10
43 ...
44 ---
45 name:            umax_i32
46 legalized:       true
47 regBankSelected: true
48 body:             |
49   bb.0.entry:
50     ; RV32I-LABEL: name: umax_i32
51     ; RV32I: [[COPY:%[0-9]+]]:gpr = COPY $x10
52     ; RV32I-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11
53     ; RV32I-NEXT: [[MAXU:%[0-9]+]]:gpr = MAXU [[COPY]], [[COPY1]]
54     ; RV32I-NEXT: $x10 = COPY [[MAXU]]
55     ; RV32I-NEXT: PseudoRET implicit $x10
56     %0:gprb(s32) = COPY $x10
57     %1:gprb(s32) = COPY $x11
58     %2:gprb(s32) = G_UMAX %0, %1
59     $x10 = COPY %2(s32)
60     PseudoRET implicit $x10
62 ...
63 ---
64 name:            umin_i32
65 legalized:       true
66 regBankSelected: true
67 body:             |
68   bb.0.entry:
69     ; RV32I-LABEL: name: umin_i32
70     ; RV32I: [[COPY:%[0-9]+]]:gpr = COPY $x10
71     ; RV32I-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11
72     ; RV32I-NEXT: [[MINU:%[0-9]+]]:gpr = MINU [[COPY]], [[COPY1]]
73     ; RV32I-NEXT: $x10 = COPY [[MINU]]
74     ; RV32I-NEXT: PseudoRET implicit $x10
75     %0:gprb(s32) = COPY $x10
76     %1:gprb(s32) = COPY $x11
77     %2:gprb(s32) = G_UMIN %0, %1
78     $x10 = COPY %2(s32)
79     PseudoRET implicit $x10
81 ...