1# RUN: not --crash llc -verify-machineinstrs -run-pass none -o /dev/null %s 2>&1 | FileCheck %s 2# REQUIRES: aarch64-registered-target 3 4--- | 5 6 target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" 7 target triple = "aarch64--" 8 define void @test() { ret void } 9 10... 11 12--- 13name: test 14registers: 15 - { id: 0, class: gpr } 16 - { id: 1, class: gpr } 17 - { id: 2, class: gpr } 18 - { id: 3, class: gpr } 19 - { id: 4, class: gpr } 20 - { id: 5, class: gpr } 21 - { id: 6, class: gpr } 22 - { id: 7, class: gpr } 23body: | 24 bb.0: 25 liveins: $x0 26 %0(s64) = COPY $x0 27 %1(<4 x s16>) = COPY $x0 28 29 ; CHECK: *** Bad machine code: G_SEXT_INREG expects an immediate operand #2 *** 30 ; CHECK: instruction: %2:gpr(s64) = G_SEXT_INREG 31 %2(s64) = G_SEXT_INREG %0, %0 32 33 ; CHECK: *** Bad machine code: G_SEXT_INREG expects an immediate operand #2 *** 34 ; CHECK: instruction: %3:gpr(s64) = G_SEXT_INREG 35 %3(s64) = G_SEXT_INREG %0, i8 8 36 37 ; CHECK: *** Bad machine code: Type mismatch in generic instruction *** 38 ; CHECK: instruction: %4:gpr(<2 x s32>) = G_SEXT_INREG 39 ; CHECK: *** Bad machine code: operand types must be all-vector or all-scalar *** 40 ; CHECK: instruction: %4:gpr(<2 x s32>) = G_SEXT_INREG 41 %4(<2 x s32>) = G_SEXT_INREG %0, 8 42 43 ; CHECK: *** Bad machine code: operand types must preserve number of vector elements *** 44 ; CHECK: instruction: %5:gpr(<2 x s32>) = G_SEXT_INREG 45 %5(<2 x s32>) = G_SEXT_INREG %1, 8 46 47 ; CHECK: *** Bad machine code: G_SEXT_INREG size must be >= 1 *** 48 ; CHECK: instruction: %6:gpr(s64) = G_SEXT_INREG 49 %6(s64) = G_SEXT_INREG %0, 0 50 51 ; CHECK: *** Bad machine code: G_SEXT_INREG size must be less than source bit width *** 52 ; CHECK: instruction: %7:gpr(s64) = G_SEXT_INREG 53 %7(s64) = G_SEXT_INREG %0, 128 54... 55