llvm-project
43 строки · 1.5 Кб
1# RUN: not --crash llc -o - -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s
2
3---
4name: g_splat_vector
5tracksRegLiveness: true
6liveins:
7body: |
8bb.0:
9%0:_(s32) = G_CONSTANT i32 0
10%1:_(<vscale x 2 x s32>) = G_IMPLICIT_DEF
11%2:_(<vscale x 1 x s32>) = G_IMPLICIT_DEF
12
13; CHECK: G_INSERT_SUBVECTOR first source must be a register
14%3:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR 1, %2, 0
15
16; CHECK: G_INSERT_SUBVECTOR second source must be a register
17%4:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR %1, 1, 0
18
19; CHECK: G_INSERT_SUBVECTOR index must be an immediate
20%5:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR %1, %2, %0
21
22; CHECK: Destination type must be a vector
23%6:_(s32) = G_INSERT_SUBVECTOR %1, %2, 0
24
25; CHECK: First source must be a vector
26%7:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR %0, %2, 0
27
28; CHECK: Second source must be a vector
29%8:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR %1, %0, 0
30
31; CHECK: Destination type must match the first source vector type
32%9:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR %2, %1, 0
33
34%10:_(<vscale x 1 x s16>) = G_IMPLICIT_DEF
35
36; CHECK: Element type of source vectors must be the same
37%11:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR %1, %10, 0
38
39%12:_(<vscale x 4 x s32>) = G_IMPLICIT_DEF
40
41; CHECK: Index must be a multiple of the second source vector's minimum vector length
42%13:_(<vscale x 4 x s32>) = G_INSERT_SUBVECTOR %12, %1, 3
43...
44