@@ -45,6 +45,20 @@ entry:
45
45
46
46
; ILLEGAL INTEGER TYPES
47
47
48
+ define <vscale x 6 x i64 > @stepvector_nxv6i64 () {
49
+ ; CHECK-LABEL: stepvector_nxv6i64:
50
+ ; CHECK: // %bb.0: // %entry
51
+ ; CHECK-NEXT: index z0.d, #0, #1
52
+ ; CHECK-NEXT: mov z1.d, z0.d
53
+ ; CHECK-NEXT: mov z2.d, z0.d
54
+ ; CHECK-NEXT: incd z1.d
55
+ ; CHECK-NEXT: incd z2.d, all, mul #2
56
+ ; CHECK-NEXT: ret
57
+ entry:
58
+ %0 = call <vscale x 6 x i64 > @llvm.experimental.stepvector.nxv6i64 ()
59
+ ret <vscale x 6 x i64 > %0
60
+ }
61
+
48
62
define <vscale x 4 x i64 > @stepvector_nxv4i64 () {
49
63
; CHECK-LABEL: stepvector_nxv4i64:
50
64
; CHECK: // %bb.0: // %entry
@@ -73,6 +87,16 @@ entry:
73
87
ret <vscale x 16 x i32 > %0
74
88
}
75
89
90
+ define <vscale x 3 x i32 > @stepvector_nxv3i32 () {
91
+ ; CHECK-LABEL: stepvector_nxv3i32:
92
+ ; CHECK: // %bb.0: // %entry
93
+ ; CHECK-NEXT: index z0.s, #0, #1
94
+ ; CHECK-NEXT: ret
95
+ entry:
96
+ %0 = call <vscale x 3 x i32 > @llvm.experimental.stepvector.nxv3i32 ()
97
+ ret <vscale x 3 x i32 > %0
98
+ }
99
+
76
100
define <vscale x 2 x i32 > @stepvector_nxv2i32 () {
77
101
; CHECK-LABEL: stepvector_nxv2i32:
78
102
; CHECK: // %bb.0: // %entry
@@ -422,8 +446,10 @@ declare <vscale x 4 x i32> @llvm.experimental.stepvector.nxv4i32()
422
446
declare <vscale x 8 x i16 > @llvm.experimental.stepvector.nxv8i16 ()
423
447
declare <vscale x 16 x i8 > @llvm.experimental.stepvector.nxv16i8 ()
424
448
449
+ declare <vscale x 6 x i64 > @llvm.experimental.stepvector.nxv6i64 ()
425
450
declare <vscale x 4 x i64 > @llvm.experimental.stepvector.nxv4i64 ()
426
451
declare <vscale x 16 x i32 > @llvm.experimental.stepvector.nxv16i32 ()
452
+ declare <vscale x 3 x i32 > @llvm.experimental.stepvector.nxv3i32 ()
427
453
declare <vscale x 2 x i32 > @llvm.experimental.stepvector.nxv2i32 ()
428
454
declare <vscale x 8 x i8 > @llvm.experimental.stepvector.nxv8i8 ()
429
455
declare <vscale x 4 x i16 > @llvm.experimental.stepvector.nxv4i16 ()
0 commit comments