[Clang][MIPS] Send correct architecture for MinGW toolchains (#121042)
[llvm-project.git] / llvm / test / CodeGen / RISCV / machineoutliner-x5.mir
blob14a9cd7f0dcffaf4931a19990e9e2c0d297f9b75
1 # Check that modifying X5 register is not a problem for machine outliner
3 # RUN: llc -mtriple=riscv32 -x mir -run-pass=machine-outliner -simplify-mir -verify-machineinstrs < %s \
4 # RUN: | FileCheck -check-prefixes=CHECK,RV32I-MO %s
5 # RUN: llc -mtriple=riscv64 -x mir -run-pass=machine-outliner -simplify-mir -verify-machineinstrs < %s \
6 # RUN: | FileCheck -check-prefixes=CHECK,RV64I-MO %s
8 --- |
9   define i32 @outline_tail_1(i32 %a, i32 %b) { ret i32 0 }
11   define i32 @outline_tail_2(i32 %a, i32 %b) { ret i32 0 }
12 ...
13 ---
14 name:            outline_tail_1
15 tracksRegLiveness: true
16 isOutlined: false
17 body:             |
18   bb.0:
19     liveins: $x10, $x11, $x5
20     ; RV32I-MO-LABEL: name: outline_tail_1
21     ; RV32I-MO:         PseudoTAIL target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit $x2, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x2, implicit $x5, implicit $x10, implicit $x11
22     ;
23     ; RV64I-MO-LABEL: name: outline_tail_1
24     ; RV64I-MO:         PseudoTAIL target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit $x2, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x2, implicit $x5, implicit $x10, implicit $x11
25     $x11 = ORI $x11, 1023
26     $x12 = ADDI $x10, 17
27     $x10 = ADD $x10, $x5
28     $x11 = AND $x12, $x11
29     $x10 = SUB $x10, $x11
30     PseudoRET implicit $x10
31 ...
32 ---
33 name:            outline_tail_2
34 tracksRegLiveness: true
35 isOutlined: false
36 body:             |
37   bb.0:
38     liveins: $x10, $x11, $x5
39     ; RV32I-MO-LABEL: name: outline_tail_2
40     ; RV32I-MO:         PseudoTAIL target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit $x2, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x2, implicit $x5, implicit $x10, implicit $x11
41     ;
42     ; RV64I-MO-LABEL: name: outline_tail_2
43     ; RV64I-MO:         PseudoTAIL target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit $x2, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x2, implicit $x5, implicit $x10, implicit $x11
44     $x11 = ORI $x11, 1023
45     $x12 = ADDI $x10, 17
46     $x10 = ADD $x10, $x5
47     $x11 = AND $x12, $x11
48     $x10 = SUB $x10, $x11
49     PseudoRET implicit $x10
50 ...
53 # CHECK-LABEL: name: OUTLINED_FUNCTION_0
54 # CHECK: isOutlined: true