1 ; RUN: llc -mtriple=riscv64 -mattr='+v' -O0 -global-isel -global-isel-abort=2 -pass-remarks-missed='gisel*' -verify-machineinstrs %s -o %t.out 2> %t.err
2 ; RUN: FileCheck %s --check-prefix=FALLBACK-WITH-REPORT-OUT < %t.out
3 ; RUN: FileCheck %s --check-prefix=FALLBACK-WITH-REPORT-ERR < %t.err
6 declare <vscale x 1 x i8> @llvm.riscv.vadd.nxv1i8.nxv1i8(
12 ; FALLBACK_WITH_REPORT_ERR: <unknown>:0:0: unable to translate instruction: call:
13 ; FALLBACK-WITH-REPORT-OUT-LABEL: scalable_arg
14 define <vscale x 1 x i8> @scalable_arg(<vscale x 1 x i8> %0, <vscale x 1 x i8> %1, i64 %2) nounwind {
16 %a = call <vscale x 1 x i8> @llvm.riscv.vadd.nxv1i8.nxv1i8(
17 <vscale x 1 x i8> undef,
22 ret <vscale x 1 x i8> %a
25 ; FALLBACK-WITH-REPORT-ERR: remark: <unknown>:0:0: unable to translate instruction: call:
26 ; FALLBACK-WITH-REPORT-OUT-LABEL: scalable_inst
27 define <vscale x 1 x i8> @scalable_inst(i64 %0) nounwind {
29 %a = call <vscale x 1 x i8> @llvm.riscv.vadd.nxv1i8.nxv1i8(
30 <vscale x 1 x i8> undef,
31 <vscale x 1 x i8> undef,
32 <vscale x 1 x i8> undef,
35 ret <vscale x 1 x i8> %a
38 ; FALLBACK-WITH-REPORT-ERR: remark: <unknown>:0:0: unable to translate instruction: alloca:
39 ; FALLBACK-WITH-REPORT-OUT-LABEL: scalable_alloca
40 define void @scalable_alloca() #1 {
41 %local0 = alloca <vscale x 16 x i8>
42 load volatile <vscale x 16 x i8>, ptr %local0