Files
clang-p2996/llvm/test/MachineVerifier/test_g_splat_vector.mir
Michael Maitland da9f06c9b1 [GISEL] G_SPLAT_VECTOR can take a splat that is larger than the vector element (#86974)
This is what SelectionDAG does. We'd like to reuse SelectionDAG
patterns.
2024-04-01 08:46:22 -04:00

28 lines
880 B
YAML

# RUN: not --crash llc -o - -mtriple=arm64 -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s
# REQUIRES: aarch64-registered-target
---
name: g_splat_vector
tracksRegLiveness: true
liveins:
body: |
bb.0:
%0:_(s32) = G_CONSTANT i32 0
%1:_(<2 x s32>) = G_IMPLICIT_DEF
%2:_(<vscale x 2 x s32>) = G_IMPLICIT_DEF
; CHECK: Destination type must be a scalable vector
%3:_(s32) = G_SPLAT_VECTOR %0
; CHECK: Destination type must be a scalable vector
%4:_(<2 x s32>) = G_SPLAT_VECTOR %0
; CHECK: Source type must be a scalar
%5:_(<vscale x 2 x s32>) = G_SPLAT_VECTOR %1
; CHECK: Source type must be a scalar
%6:_(<vscale x 2 x s32>) = G_SPLAT_VECTOR %2
; CHECK: Element type of the destination must be the same size or smaller than the source type
%7:_(<vscale x 2 x s128>) = G_SPLAT_VECTOR %0
...