1 # RUN: not --crash llc -o - -mtriple=arm64 -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s
2 # REQUIRES: aarch64-registered-target
6 tracksRegLiveness: true
9 ; CHECK: Bad machine code: G_UNMERGE_VALUES destination types do not match
10 %0:_(s64) = IMPLICIT_DEF
11 %1:_(s32), %2:_(s16) = G_UNMERGE_VALUES %0
13 ; CHECK: Bad machine code: G_UNMERGE_VALUES source operand does not match vector destination operands
14 %3:_(<4 x s32>) = IMPLICIT_DEF
15 %4:_(<3 x s32>), %5:_(<3 x s32>) = G_UNMERGE_VALUES %3
17 ; CHECK: Bad machine code: G_UNMERGE_VALUES source operand does not match vector destination operands
18 %6:_(<2 x s16>), %7:_(<2 x s16>) = G_UNMERGE_VALUES %3
20 ; CHECK: Bad machine code: G_UNMERGE_VALUES vector source operand does not match scalar destination operands
21 %8:_(<2 x s32>) = IMPLICIT_DEF
22 %9:_(s32), %10:_(s32), %11:_(s32) = G_UNMERGE_VALUES %8
24 ; CHECK: Bad machine code: G_UNMERGE_VALUES vector source operand does not match scalar destination operands
25 %12:_(s16), %13:_(s16) = G_UNMERGE_VALUES %8
27 ; CHECK: Bad machine code: G_UNMERGE_VALUES scalar source operand does not match scalar destination operands
28 %14:_(s64) = IMPLICIT_DEF
29 %15:_(s16), %16:_(s16) = G_UNMERGE_VALUES %14
31 ; CHECK: Bad machine code: G_UNMERGE_VALUES scalar source operand does not match scalar destination operands
32 %17:_(s32), %18:_(s32), %19:_(s32) = G_UNMERGE_VALUES %14