6
6
define <16 x i8 > @v16i8 () #0 {
7
7
; CHECK-LABEL: v16i8:
8
8
; CHECK: // %bb.0:
9
- ; CHECK-NEXT: adrp x8, .LCPI0_0
10
- ; CHECK-NEXT: ldr q0, [x8, :lo12:.LCPI0_0]
9
+ ; CHECK-NEXT: index z0.b, #0, #1
10
+ ; CHECK-NEXT: // kill: def $q0 killed $q0 killed $z0
11
11
; CHECK-NEXT: ret
12
12
ret <16 x i8 > <i8 0 , i8 1 , i8 2 , i8 3 , i8 4 , i8 5 , i8 6 , i8 7 , i8 8 , i8 9 , i8 10 , i8 11 , i8 12 , i8 13 , i8 14 , i8 15 >
13
13
}
14
14
15
15
define <8 x i16 > @v8i16 () #0 {
16
16
; CHECK-LABEL: v8i16:
17
17
; CHECK: // %bb.0:
18
- ; CHECK-NEXT: adrp x8, .LCPI1_0
19
- ; CHECK-NEXT: ldr q0, [x8, :lo12:.LCPI1_0]
18
+ ; CHECK-NEXT: index z0.h, #0, #1
19
+ ; CHECK-NEXT: // kill: def $q0 killed $q0 killed $z0
20
20
; CHECK-NEXT: ret
21
21
ret <8 x i16 > <i16 0 , i16 1 , i16 2 , i16 3 , i16 4 , i16 5 , i16 6 , i16 7 >
22
22
}
23
23
24
24
define <4 x i32 > @v4i32 () #0 {
25
25
; CHECK-LABEL: v4i32:
26
26
; CHECK: // %bb.0:
27
- ; CHECK-NEXT: adrp x8, .LCPI2_0
28
- ; CHECK-NEXT: ldr q0, [x8, :lo12:.LCPI2_0]
27
+ ; CHECK-NEXT: index z0.s, #0, #1
28
+ ; CHECK-NEXT: // kill: def $q0 killed $q0 killed $z0
29
29
; CHECK-NEXT: ret
30
30
ret <4 x i32 > <i32 0 , i32 1 , i32 2 , i32 3 >
31
31
}
32
32
33
33
define <2 x i64 > @v2i64 () #0 {
34
34
; CHECK-LABEL: v2i64:
35
35
; CHECK: // %bb.0:
36
- ; CHECK-NEXT: adrp x8, .LCPI3_0
37
- ; CHECK-NEXT: ldr q0, [x8, :lo12:.LCPI3_0]
36
+ ; CHECK-NEXT: index z0.d, #0, #1
37
+ ; CHECK-NEXT: // kill: def $q0 killed $q0 killed $z0
38
38
; CHECK-NEXT: ret
39
39
ret <2 x i64 > <i64 0 , i64 1 >
40
40
}
@@ -44,26 +44,26 @@ define <2 x i64> @v2i64() #0 {
44
44
define <8 x i8 > @v8i8 () #0 {
45
45
; CHECK-LABEL: v8i8:
46
46
; CHECK: // %bb.0:
47
- ; CHECK-NEXT: adrp x8, .LCPI4_0
48
- ; CHECK-NEXT: ldr d0, [x8, :lo12:.LCPI4_0]
47
+ ; CHECK-NEXT: index z0.b, #0, #1
48
+ ; CHECK-NEXT: // kill: def $d0 killed $d0 killed $z0
49
49
; CHECK-NEXT: ret
50
50
ret <8 x i8 > <i8 0 , i8 1 , i8 2 , i8 3 , i8 4 , i8 5 , i8 6 , i8 7 >
51
51
}
52
52
53
53
define <4 x i16 > @v4i16 () #0 {
54
54
; CHECK-LABEL: v4i16:
55
55
; CHECK: // %bb.0:
56
- ; CHECK-NEXT: adrp x8, .LCPI5_0
57
- ; CHECK-NEXT: ldr d0, [x8, :lo12:.LCPI5_0]
56
+ ; CHECK-NEXT: index z0.h, #0, #1
57
+ ; CHECK-NEXT: // kill: def $d0 killed $d0 killed $z0
58
58
; CHECK-NEXT: ret
59
59
ret <4 x i16 > <i16 0 , i16 1 , i16 2 , i16 3 >
60
60
}
61
61
62
62
define <2 x i32 > @v2i32 () #0 {
63
63
; CHECK-LABEL: v2i32:
64
64
; CHECK: // %bb.0:
65
- ; CHECK-NEXT: adrp x8, .LCPI6_0
66
- ; CHECK-NEXT: ldr d0, [x8, :lo12:.LCPI6_0]
65
+ ; CHECK-NEXT: index z0.s, #0, #1
66
+ ; CHECK-NEXT: // kill: def $d0 killed $d0 killed $z0
67
67
; CHECK-NEXT: ret
68
68
ret <2 x i32 > <i32 0 , i32 1 >
69
69
}
@@ -73,8 +73,9 @@ define <2 x i32> @v2i32() #0 {
73
73
define <4 x i32 > @v4i32_non_zero_non_one () #0 {
74
74
; CHECK-LABEL: v4i32_non_zero_non_one:
75
75
; CHECK: // %bb.0:
76
- ; CHECK-NEXT: adrp x8, .LCPI7_0
77
- ; CHECK-NEXT: ldr q0, [x8, :lo12:.LCPI7_0]
76
+ ; CHECK-NEXT: index z0.s, #0, #2
77
+ ; CHECK-NEXT: orr z0.s, z0.s, #0x1
78
+ ; CHECK-NEXT: // kill: def $q0 killed $q0 killed $z0
78
79
; CHECK-NEXT: ret
79
80
ret <4 x i32 > <i32 1 , i32 3 , i32 5 , i32 7 >
80
81
}
@@ -83,8 +84,8 @@ define <4 x i32> @v4i32_non_zero_non_one() #0 {
83
84
define <4 x i32 > @v4i32_neg_immediates () #0 {
84
85
; CHECK-LABEL: v4i32_neg_immediates:
85
86
; CHECK: // %bb.0:
86
- ; CHECK-NEXT: adrp x8, .LCPI8_0
87
- ; CHECK-NEXT: ldr q0, [x8, :lo12:.LCPI8_0]
87
+ ; CHECK-NEXT: index z0.s, #-1, #-2
88
+ ; CHECK-NEXT: // kill: def $q0 killed $q0 killed $z0
88
89
; CHECK-NEXT: ret
89
90
ret <4 x i32 > <i32 -1 , i32 -3 , i32 -5 , i32 -7 >
90
91
}
@@ -93,8 +94,9 @@ define <4 x i32> @v4i32_neg_immediates() #0 {
93
94
define <4 x i32 > @v4i32_out_range_start () #0 {
94
95
; CHECK-LABEL: v4i32_out_range_start:
95
96
; CHECK: // %bb.0:
96
- ; CHECK-NEXT: adrp x8, .LCPI9_0
97
- ; CHECK-NEXT: ldr q0, [x8, :lo12:.LCPI9_0]
97
+ ; CHECK-NEXT: index z0.s, #0, #1
98
+ ; CHECK-NEXT: add z0.s, z0.s, #16 // =0x10
99
+ ; CHECK-NEXT: // kill: def $q0 killed $q0 killed $z0
98
100
; CHECK-NEXT: ret
99
101
ret <4 x i32 > <i32 16 , i32 17 , i32 18 , i32 19 >
100
102
}
@@ -103,8 +105,9 @@ define <4 x i32> @v4i32_out_range_start() #0 {
103
105
define <4 x i32 > @v4i32_out_range_step () #0 {
104
106
; CHECK-LABEL: v4i32_out_range_step:
105
107
; CHECK: // %bb.0:
106
- ; CHECK-NEXT: adrp x8, .LCPI10_0
107
- ; CHECK-NEXT: ldr q0, [x8, :lo12:.LCPI10_0]
108
+ ; CHECK-NEXT: mov w8, #16 // =0x10
109
+ ; CHECK-NEXT: index z0.s, #0, w8
110
+ ; CHECK-NEXT: // kill: def $q0 killed $q0 killed $z0
108
111
; CHECK-NEXT: ret
109
112
ret <4 x i32 > <i32 0 , i32 16 , i32 32 , i32 48 >
110
113
}
@@ -113,8 +116,10 @@ define <4 x i32> @v4i32_out_range_step() #0 {
113
116
define <4 x i32 > @v4i32_out_range_start_step () #0 {
114
117
; CHECK-LABEL: v4i32_out_range_start_step:
115
118
; CHECK: // %bb.0:
116
- ; CHECK-NEXT: adrp x8, .LCPI11_0
117
- ; CHECK-NEXT: ldr q0, [x8, :lo12:.LCPI11_0]
119
+ ; CHECK-NEXT: mov w8, #16 // =0x10
120
+ ; CHECK-NEXT: index z0.s, #0, w8
121
+ ; CHECK-NEXT: add z0.s, z0.s, #16 // =0x10
122
+ ; CHECK-NEXT: // kill: def $q0 killed $q0 killed $z0
118
123
; CHECK-NEXT: ret
119
124
ret <4 x i32 > <i32 16 , i32 32 , i32 48 , i32 64 >
120
125
}
0 commit comments