Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / MachineVerifier / test_g_insert_subvector.mir
blob9fce3c3e842d40ed68ddc0c895a457df3875de7c
1 # RUN: not --crash llc -o - -run-pass=none -verify-machineinstrs -mtriple=arm64 %s 2>&1 | FileCheck %s
2 # REQUIRES: aarch64-registered-target
4 ---
5 name:            g_splat_vector
6 tracksRegLiveness: true
7 liveins:
8 body:             |
9   bb.0:
10     %0:_(s32) = G_CONSTANT i32 0
11     %1:_(<vscale x 2 x s32>) = G_IMPLICIT_DEF
12     %2:_(<vscale x 1 x s32>) = G_IMPLICIT_DEF
14     ; CHECK: G_INSERT_SUBVECTOR first source must be a register
15     %3:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR 1, %2, 0
17     ; CHECK: G_INSERT_SUBVECTOR second source must be a register
18     %4:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR %1, 1, 0
20     ; CHECK: G_INSERT_SUBVECTOR index must be an immediate
21     %5:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR %1, %2, %0
23     ; CHECK: Destination type must be a vector
24     %6:_(s32) = G_INSERT_SUBVECTOR %1, %2, 0
26     ; CHECK: First source must be a vector
27     %7:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR %0, %2, 0
29     ; CHECK: Second source must be a vector
30     %8:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR %1, %0, 0
32     ; CHECK: Destination type must match the first source vector type
33     %9:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR %2, %1, 0
35     %10:_(<vscale x 1 x s16>) = G_IMPLICIT_DEF
37     ; CHECK: Element type of source vectors must be the same
38     %11:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR %1, %10, 0
40     %12:_(<vscale x 4 x s32>) = G_IMPLICIT_DEF
42     ; CHECK: Index must be a multiple of the second source vector's minimum vector length
43     %13:_(<vscale x 4 x s32>) = G_INSERT_SUBVECTOR %12, %1, 3
44 ...