68 lines · plain
1# RUN: not --crash llc -o - -run-pass=none -verify-machineinstrs -mtriple=arm64 %s 2>&1 | FileCheck %s2# REQUIRES: aarch64-registered-target3 4---5name: g_splat_vector6tracksRegLiveness: true7liveins:8body: |9 bb.0:10 %0:_(s32) = G_CONSTANT i32 011 %1:_(<vscale x 2 x s32>) = G_IMPLICIT_DEF12 %2:_(<vscale x 1 x s32>) = G_IMPLICIT_DEF13 14 ; CHECK: generic instruction must use register operands15 ; CHECK: G_INSERT_SUBVECTOR first source must be a register16 %3:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR 1, %2, 017 18 ; CHECK: generic instruction must use register operands19 ; CHECK: G_INSERT_SUBVECTOR second source must be a register20 %4:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR %1, 1, 021 22 ; CHECK: G_INSERT_SUBVECTOR index must be an immediate23 %5:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR %1, %2, %024 25 ; CHECK: Destination type must be a vector26 %6:_(s32) = G_INSERT_SUBVECTOR %1, %2, 027 28 ; CHECK: Type mismatch in generic instruction29 %7:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR %0, %2, 030 31 ; CHECK: Second source must be a vector32 %8:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR %1, %0, 033 34 ; CHECK: Type mismatch in generic instruction35 %9:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR %2, %1, 036 37 %10:_(<vscale x 1 x s16>) = G_IMPLICIT_DEF38 39 ; CHECK: Element type of vectors must be the same40 %11:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR %1, %10, 041 42 %12:_(<vscale x 4 x s32>) = G_IMPLICIT_DEF43 44 ; CHECK: Index must be a multiple of the second source vector's minimum vector length45 %13:_(<vscale x 4 x s32>) = G_INSERT_SUBVECTOR %12, %1, 346 47 ; CHECK: Index must be a multiple of the second source vector's minimum vector length48 %14:_(<vscale x 4 x s32>) = G_INSERT_SUBVECTOR %12, %1, 149 50 %15:_(<vscale x 4 x s32>) = G_IMPLICIT_DEF51 52 ; CHECK: Second source must be smaller than destination vector53 %16:_(<vscale x 2 x s32>) = G_INSERT_SUBVECTOR %1, %15, 054 55 ; CHECK: Subvector type and index must not cause insert to overrun the vector being inserted into56 %17:_(<vscale x 4 x s32>) = G_INSERT_SUBVECTOR %12, %1, 457 58 %18:_(<vscale x 3 x s32>) = G_IMPLICIT_DEF59 60 ; CHECK: Subvector type and index must not cause insert to overrun the vector being inserted into61 %19:_(<vscale x 3 x s32>) = G_INSERT_SUBVECTOR %18, %1, 262 63 %20:_(<2 x s32>) = G_IMPLICIT_DEF64 65 ; CHECK: Vector types must both be fixed or both be scalable66 %21:_(<vscale x 1 x s32>) = G_INSERT_SUBVECTOR %12, %20, 267...68