Revert " [LoongArch][ISel] Check the number of sign bits in `PatGprGpr_32` (#107432)"
[llvm-project.git] / llvm / test / CodeGen / AArch64 / sms-unacceptable-loop3.mir
blobe6d86859a41b95f4913fbb8e658d477402c0b97e
1 # RUN: llc --verify-machineinstrs -mtriple=aarch64 -o - %s -run-pass pipeliner -aarch64-enable-pipeliner -debug-only=pipeliner 2>&1 | FileCheck %s
2 # REQUIRES: asserts
4 # unacceptable loops by pipeliner
6 ...
7 ---
8 name:            func1
9 tracksRegLiveness: true
10 body:             |
11   ; multiple counter increment instructions
12   ; CHECK: Unable to analyzeLoop, can NOT pipeline Loop
13   bb.0.entry:
14     liveins: $x0, $x1
15     %10:gpr64 = COPY $x0
16     %11:gpr64 = COPY $x1
18   bb.1:
19     %12:gpr64 = PHI %11, %bb.0, %13, %bb.1
20     %13:gpr64 = ADDXrr %12, %11
21     %14:gpr64 = ADDXrr %13, %11
22     dead $xzr = SUBSXrr %10, %14, implicit-def $nzcv
23     Bcc 1, %bb.1, implicit $nzcv
24     B %bb.2
26   bb.2:
27 ...
28 ---
29 name:            func2
30 tracksRegLiveness: true
31 body:             |
32   ; neither operand of the increment instruction is a loop invariant value
33   ; CHECK: Unable to analyzeLoop, can NOT pipeline Loop
34   bb.0.entry:
35     liveins: $x0, $x1
36     %10:gpr64 = COPY $x0
37     %11:gpr64 = COPY $x1
39   bb.1:
40     %12:gpr64 = PHI %11, %bb.0, %13, %bb.1
41     %13:gpr64 = ADDXrr %12, %12
42     dead $xzr = SUBSXrr %10, %13, implicit-def $nzcv
43     Bcc 1, %bb.1, implicit $nzcv
44     B %bb.2
46   bb.2:
47 ...
48 ---
49 name:            func3
50 tracksRegLiveness: true
51 body:             |
52   ; neither operand of the compare instruction is a loop invariant value
53   ; CHECK: Unable to analyzeLoop, can NOT pipeline Loop
54   bb.0.entry:
55     liveins: $x0, $x1
56     %10:gpr64 = COPY $x0
57     %11:gpr64 = COPY $x1
59   bb.1:
60     %12:gpr64 = PHI %11, %bb.0, %13, %bb.1
61     %13:gpr64 = ADDXrr %12, %11
62     dead $xzr = SUBSXrr %13, %13, implicit-def $nzcv
63     Bcc 1, %bb.1, implicit $nzcv
64     B %bb.2
66   bb.2:
67 ...
68 ---
69 name:            func4
70 tracksRegLiveness: true
71 body:             |
72   ; multiple phi instructions
73   ; CHECK: Unable to analyzeLoop, can NOT pipeline Loop
74   bb.0.entry:
75     liveins: $x0, $x1
76     %10:gpr64 = COPY $x0
77     %11:gpr64 = COPY $x1
79   bb.1:
80     %12:gpr64 = PHI %11, %bb.0, %13, %bb.1
81     %14:gpr64 = PHI %11, %bb.0, %15, %bb.1
82     dead $xzr = SUBSXrr %12, %10, implicit-def $nzcv
83     %13:gpr64 = ADDXrr %14, %11
84     %15:gpr64 = ADDXrr %12, %11
85     Bcc 1, %bb.1, implicit $nzcv
86     B %bb.2
88   bb.2:
89 ...
90 ---
91 name:            func5
92 tracksRegLiveness: true
93 body:             |
94   ; not an increment instruction
95   ; CHECK: Unable to analyzeLoop, can NOT pipeline Loop
96   bb.0.entry:
97     liveins: $x0, $x1
98     %10:gpr64 = COPY $x0
99     %11:gpr64 = COPY $x1
101   bb.1:
102     %12:gpr64 = PHI %11, %bb.0, %13, %bb.1
103     %13:gpr64 = ORRXrr %12, %12
104     dead $xzr = SUBSXrr %12, %10, implicit-def $nzcv
105     Bcc 1, %bb.1, implicit $nzcv
106     B %bb.2
108   bb.2: