5
5
6
6
declare void @llvm.masked.scatter.nxv16i8.nxv16p0 (<vscale x 16 x i8 >, <vscale x 16 x ptr >, i32 immarg, <vscale x 16 x i1 >)
7
7
8
- define fastcc i8 @allocno_reload_assign (ptr %p ) {
8
+ define fastcc i8 @allocno_reload_assign () {
9
9
; CHECK-LABEL: allocno_reload_assign:
10
10
; CHECK: // %bb.0:
11
11
; CHECK-NEXT: fmov d0, xzr
@@ -14,8 +14,8 @@ define fastcc i8 @allocno_reload_assign(ptr %p) {
14
14
; CHECK-NEXT: cmpeq p0.d, p0/z, z0.d, #0
15
15
; CHECK-NEXT: uzp1 p0.s, p0.s, p0.s
16
16
; CHECK-NEXT: uzp1 p0.h, p0.h, p0.h
17
- ; CHECK-NEXT: uzp1 p8 .b, p0.b, p0.b
18
- ; CHECK-NEXT: mov z0.b, p8 /z, #1 // =0x1
17
+ ; CHECK-NEXT: uzp1 p0 .b, p0.b, p0.b
18
+ ; CHECK-NEXT: mov z0.b, p0 /z, #1 // =0x1
19
19
; CHECK-NEXT: fmov w8, s0
20
20
; CHECK-NEXT: mov z0.b, #0 // =0x0
21
21
; CHECK-NEXT: uunpklo z1.h, z0.b
@@ -30,35 +30,34 @@ define fastcc i8 @allocno_reload_assign(ptr %p) {
30
30
; CHECK-NEXT: punpklo p1.h, p0.b
31
31
; CHECK-NEXT: punpkhi p0.h, p0.b
32
32
; CHECK-NEXT: punpklo p2.h, p1.b
33
- ; CHECK-NEXT: punpkhi p4 .h, p1.b
33
+ ; CHECK-NEXT: punpkhi p3 .h, p1.b
34
34
; CHECK-NEXT: uunpklo z0.d, z2.s
35
35
; CHECK-NEXT: uunpkhi z1.d, z2.s
36
- ; CHECK-NEXT: punpklo p6 .h, p0.b
36
+ ; CHECK-NEXT: punpklo p5 .h, p0.b
37
37
; CHECK-NEXT: uunpklo z2.d, z3.s
38
38
; CHECK-NEXT: uunpkhi z3.d, z3.s
39
- ; CHECK-NEXT: punpkhi p0 .h, p0.b
39
+ ; CHECK-NEXT: punpkhi p7 .h, p0.b
40
40
; CHECK-NEXT: uunpklo z4.d, z5.s
41
41
; CHECK-NEXT: uunpkhi z5.d, z5.s
42
42
; CHECK-NEXT: uunpklo z6.d, z7.s
43
43
; CHECK-NEXT: uunpkhi z7.d, z7.s
44
- ; CHECK-NEXT: punpklo p1 .h, p2.b
45
- ; CHECK-NEXT: punpkhi p2 .h, p2.b
46
- ; CHECK-NEXT: punpklo p3 .h, p4 .b
47
- ; CHECK-NEXT: punpkhi p4 .h, p4 .b
48
- ; CHECK-NEXT: punpklo p5 .h, p6 .b
49
- ; CHECK-NEXT: punpkhi p6 .h, p6 .b
50
- ; CHECK-NEXT: punpklo p7 .h, p0 .b
51
- ; CHECK-NEXT: punpkhi p0 .h, p0 .b
44
+ ; CHECK-NEXT: punpklo p0 .h, p2.b
45
+ ; CHECK-NEXT: punpkhi p1 .h, p2.b
46
+ ; CHECK-NEXT: punpklo p2 .h, p3 .b
47
+ ; CHECK-NEXT: punpkhi p3 .h, p3 .b
48
+ ; CHECK-NEXT: punpklo p4 .h, p5 .b
49
+ ; CHECK-NEXT: punpkhi p5 .h, p5 .b
50
+ ; CHECK-NEXT: punpklo p6 .h, p7 .b
51
+ ; CHECK-NEXT: punpkhi p7 .h, p7 .b
52
52
; CHECK-NEXT: .LBB0_1: // =>This Inner Loop Header: Depth=1
53
- ; CHECK-NEXT: st1b { z0.d }, p1, [z16.d]
54
- ; CHECK-NEXT: st1b { z1.d }, p2, [z16.d]
55
- ; CHECK-NEXT: st1b { z2.d }, p3, [z16.d]
56
- ; CHECK-NEXT: st1b { z3.d }, p4, [z16.d]
57
- ; CHECK-NEXT: st1b { z4.d }, p5, [z16.d]
58
- ; CHECK-NEXT: st1b { z5.d }, p6, [z16.d]
59
- ; CHECK-NEXT: st1b { z6.d }, p7, [z16.d]
60
- ; CHECK-NEXT: st1b { z7.d }, p0, [z16.d]
61
- ; CHECK-NEXT: str p8, [x0]
53
+ ; CHECK-NEXT: st1b { z0.d }, p0, [z16.d]
54
+ ; CHECK-NEXT: st1b { z1.d }, p1, [z16.d]
55
+ ; CHECK-NEXT: st1b { z2.d }, p2, [z16.d]
56
+ ; CHECK-NEXT: st1b { z3.d }, p3, [z16.d]
57
+ ; CHECK-NEXT: st1b { z4.d }, p4, [z16.d]
58
+ ; CHECK-NEXT: st1b { z5.d }, p5, [z16.d]
59
+ ; CHECK-NEXT: st1b { z6.d }, p6, [z16.d]
60
+ ; CHECK-NEXT: st1b { z7.d }, p7, [z16.d]
62
61
; CHECK-NEXT: b .LBB0_1
63
62
br label %1
64
63
@@ -67,7 +66,6 @@ define fastcc i8 @allocno_reload_assign(ptr %p) {
67
66
%constexpr1 = shufflevector <vscale x 16 x i1 > %constexpr , <vscale x 16 x i1 > poison, <vscale x 16 x i32 > zeroinitializer
68
67
%constexpr2 = xor <vscale x 16 x i1 > %constexpr1 , shufflevector (<vscale x 16 x i1 > insertelement (<vscale x 16 x i1 > poison, i1 true , i64 0 ), <vscale x 16 x i1 > poison, <vscale x 16 x i32 > zeroinitializer )
69
68
call void @llvm.masked.scatter.nxv16i8.nxv16p0 (<vscale x 16 x i8 > zeroinitializer , <vscale x 16 x ptr > zeroinitializer , i32 0 , <vscale x 16 x i1 > %constexpr2 )
70
- store <vscale x 16 x i1 > %constexpr , ptr %p , align 16
71
69
br label %1
72
70
}
73
71
0 commit comments