1
1
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 3
2
- # RUN: llc -mtriple=riscv64 -mattr='+d,+zfa' -verify-machineinstrs -run-pass=riscv-opt-w-instrs %s -o - | FileCheck %s --check-prefix=CHECK-ZFA
2
+ # RUN: llc -mtriple=riscv64 -mattr='+d,+zfa,+v ' -verify-machineinstrs -run-pass=riscv-opt-w-instrs %s -o - | FileCheck %s
3
3
4
4
---
5
5
name : fcvtmod_w_d
@@ -8,13 +8,13 @@ body: |
8
8
bb.0.entry:
9
9
liveins: $x10
10
10
11
- ; CHECK-ZFA- LABEL: name: fcvtmod_w_d
12
- ; CHECK-ZFA : liveins: $x10
13
- ; CHECK-ZFA- NEXT: {{ $}}
14
- ; CHECK-ZFA- NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $x10
15
- ; CHECK-ZFA- NEXT: [[FCVTMOD_W_D:%[0-9]+]]:gpr = nofpexcept FCVTMOD_W_D [[COPY]], 1
16
- ; CHECK-ZFA- NEXT: $x10 = COPY [[FCVTMOD_W_D]]
17
- ; CHECK-ZFA- NEXT: PseudoRET
11
+ ; CHECK-LABEL: name: fcvtmod_w_d
12
+ ; CHECK: liveins: $x10
13
+ ; CHECK-NEXT: {{ $}}
14
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $x10
15
+ ; CHECK-NEXT: [[FCVTMOD_W_D:%[0-9]+]]:gpr = nofpexcept FCVTMOD_W_D [[COPY]], 1
16
+ ; CHECK-NEXT: $x10 = COPY [[FCVTMOD_W_D]]
17
+ ; CHECK-NEXT: PseudoRET
18
18
%0:fpr64 = COPY $x10
19
19
20
20
%1:gpr = nofpexcept FCVTMOD_W_D %0, 1
@@ -30,15 +30,61 @@ body: |
30
30
bb.0.entry:
31
31
liveins: $x10, $x11
32
32
33
- ; CHECK-ZFA- LABEL: name: physreg
34
- ; CHECK-ZFA : liveins: $x10, $x11
35
- ; CHECK-ZFA- NEXT: {{ $}}
36
- ; CHECK-ZFA- NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10
37
- ; CHECK-ZFA- NEXT: [[ADDIW:%[0-9]+]]:gpr = ADDIW [[COPY]], 0
38
- ; CHECK-ZFA- NEXT: $x10 = COPY [[ADDIW]]
39
- ; CHECK-ZFA- NEXT: PseudoRET
33
+ ; CHECK-LABEL: name: physreg
34
+ ; CHECK: liveins: $x10, $x11
35
+ ; CHECK-NEXT: {{ $}}
36
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10
37
+ ; CHECK-NEXT: [[ADDIW:%[0-9]+]]:gpr = ADDIW [[COPY]], 0
38
+ ; CHECK-NEXT: $x10 = COPY [[ADDIW]]
39
+ ; CHECK-NEXT: PseudoRET
40
40
%0:gpr = COPY $x10
41
41
%1:gpr = ADDIW %0, 0
42
42
$x10 = COPY %1
43
43
PseudoRET
44
44
...
45
+ ---
46
+ name : vfirst
47
+ tracksRegLiveness : true
48
+ body : |
49
+ bb.0.entry:
50
+ liveins: $x10, $v8
51
+
52
+ ; CHECK-LABEL: name: vfirst
53
+ ; CHECK: liveins: $x10, $v8
54
+ ; CHECK-NEXT: {{ $}}
55
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:vr = COPY $v8
56
+ ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gprnox0 = COPY $x10
57
+ ; CHECK-NEXT: [[PseudoVFIRST_M_B1_:%[0-9]+]]:gpr = PseudoVFIRST_M_B1 [[COPY]], [[COPY1]], 0 /* e8 */
58
+ ; CHECK-NEXT: $x11 = COPY [[PseudoVFIRST_M_B1_]]
59
+ ; CHECK-NEXT: PseudoRET
60
+ %0:vr = COPY $v8
61
+ %1:gprnox0 = COPY $x10
62
+
63
+ %2:gpr = PseudoVFIRST_M_B1 %0:vr, %1:gprnox0, 0
64
+ %3:gpr = ADDIW %2, 0
65
+ $x11 = COPY %3
66
+ PseudoRET
67
+ ...
68
+ ---
69
+ name : vcpop
70
+ tracksRegLiveness : true
71
+ body : |
72
+ bb.0.entry:
73
+ liveins: $x10, $v8
74
+
75
+ ; CHECK-LABEL: name: vcpop
76
+ ; CHECK: liveins: $x10, $v8
77
+ ; CHECK-NEXT: {{ $}}
78
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:vr = COPY $v8
79
+ ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gprnox0 = COPY $x10
80
+ ; CHECK-NEXT: [[PseudoVCPOP_M_B1_:%[0-9]+]]:gpr = PseudoVCPOP_M_B1 [[COPY]], [[COPY1]], 0 /* e8 */
81
+ ; CHECK-NEXT: $x11 = COPY [[PseudoVCPOP_M_B1_]]
82
+ ; CHECK-NEXT: PseudoRET
83
+ %0:vr = COPY $v8
84
+ %1:gprnox0 = COPY $x10
85
+
86
+ %2:gpr = PseudoVCPOP_M_B1 %0:vr, %1:gprnox0, 0
87
+ %3:gpr = ADDIW %2, 0
88
+ $x11 = COPY %3
89
+ PseudoRET
90
+ ...
0 commit comments