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