@@ -10,6 +10,7 @@ body: |
10
10
%1:_(<vscale x 2 x s32>) = G_IMPLICIT_DEF
11
11
%2:_(<vscale x 1 x s32>) = G_IMPLICIT_DEF
12
12
13
+ ; CHECK: generic instruction must use register operands
13
14
; CHECK: G_EXTRACT_SUBVECTOR first source must be a register
14
15
%3:_(<vscale x 2 x s32>) = G_EXTRACT_SUBVECTOR 1, 0
15
16
@@ -19,35 +20,35 @@ body: |
19
20
; CHECK: Destination type must be a vector
20
21
%5:_(s32) = G_EXTRACT_SUBVECTOR %2, 0
21
22
22
- ; CHECK: First source must be a vector
23
+ ; CHECK: Source must be a vector
23
24
%6:_(<vscale x 2 x s32>) = G_EXTRACT_SUBVECTOR %0, 0
24
25
25
26
%7:_(<vscale x 1 x s16>) = G_IMPLICIT_DEF
26
27
27
28
; CHECK: Element type of vectors must be the same
28
29
%8:_(<vscale x 2 x s32>) = G_EXTRACT_SUBVECTOR %7, 0
29
30
30
- ; CHECK: Index must be a multiple of the destination vector's minimum vector length
31
+ ; CHECK: Destination vector must be smaller than source vector
31
32
%9:_(<vscale x 4 x s32>) = G_EXTRACT_SUBVECTOR %1, 3
32
33
33
- ; CHECK: Index must be a multiple of the destination vector's minimum vector length
34
+ ; CHECK: Destination vector must be smaller than source vector
34
35
%10:_(<vscale x 4 x s32>) = G_EXTRACT_SUBVECTOR %1, 2
35
36
36
- ; CHECK: Source type and index must not cause extract to overrun to the destination type
37
+ ; CHECK: Destination type and index must not cause extract to overrun the source vector
37
38
%11:_(<vscale x 1 x s32>) = G_EXTRACT_SUBVECTOR %1, 4
38
39
39
40
%12:_(<vscale x 4 x s32>) = G_IMPLICIT_DEF
40
41
41
- ; CHECK: Source type and index must not cause extract to overrun to the destination type
42
+ ; CHECK: Destination type and index must not cause extract to overrun the source vector
42
43
%13:_(<vscale x 3 x s32>) = G_EXTRACT_SUBVECTOR %12, 3
43
44
44
45
%14:_(<2 x s32>) = G_IMPLICIT_DEF
45
46
%15:_(<4 x s32>) = G_IMPLICIT_DEF
46
47
47
- ; CHECK: Source type and index must not cause extract to overrun to the destination type
48
+ ; CHECK: Destination type and index must not cause extract to overrun the source vector
48
49
%16:_(<2 x s32>) = G_EXTRACT_SUBVECTOR %14, 4
49
50
50
- ; CHECK: Source type and index must not cause extract to overrun to the destination type
51
+ ; CHECK: Destination type and index must not cause extract to overrun the source vector
51
52
%17:_(<3 x s32>) = G_EXTRACT_SUBVECTOR %15, 3
52
53
53
54
; CHECK: Vector types must both be fixed or both be scalable
@@ -56,5 +57,7 @@ body: |
56
57
; CHECK: Vector types must both be fixed or both be scalable
57
58
%19:_(<2 x s32>) = G_EXTRACT_SUBVECTOR %12, 0
58
59
60
+ ; CHECK: Index must be a multiple of the destination vector's minimum vector length
61
+ %20:_(<vscale x 2 x s32>) = G_EXTRACT_SUBVECTOR %12, 1
59
62
60
63
...
0 commit comments