brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · 994dfc7 Raw
37 lines · plain
1; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=aarch64--linux-gnu -mattr=+sve  < %s | FileCheck %s2 3target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"4 5; Check icmp for legal integer vectors.6define void @stepvector_legal_int() {7; CHECK-LABEL: 'stepvector_legal_int'8; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %1 = call <vscale x 2 x i64> @llvm.stepvector.nxv2i64()9; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %2 = call <vscale x 4 x i32> @llvm.stepvector.nxv4i32()10; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %3 = call <vscale x 8 x i16> @llvm.stepvector.nxv8i16()11; CHECK: Cost Model: Found an estimated cost of 1 for instruction:   %4 = call <vscale x 16 x i8> @llvm.stepvector.nxv16i8()12  %1 = call <vscale x 2 x i64> @llvm.stepvector.nxv2i64()13  %2 = call <vscale x 4 x i32> @llvm.stepvector.nxv4i32()14  %3 = call <vscale x 8 x i16> @llvm.stepvector.nxv8i16()15  %4 = call <vscale x 16 x i8> @llvm.stepvector.nxv16i8()16  ret void17}18 19; Check icmp for an illegal integer vector.20define void @stepvector_illegal_int() {21; CHECK-LABEL: 'stepvector_illegal_int'22; CHECK: Cost Model: Found an estimated cost of 2 for instruction:   %1 = call <vscale x 4 x i64> @llvm.stepvector.nxv4i64()23; CHECK: Cost Model: Found an estimated cost of 4 for instruction:   %2 = call <vscale x 16 x i32> @llvm.stepvector.nxv16i32()24  %1 = call <vscale x 4 x i64> @llvm.stepvector.nxv4i64()25  %2 = call <vscale x 16 x i32> @llvm.stepvector.nxv16i32()26  ret void27}28 29 30declare <vscale x 2 x i64> @llvm.stepvector.nxv2i64()31declare <vscale x 4 x i32> @llvm.stepvector.nxv4i32()32declare <vscale x 8 x i16> @llvm.stepvector.nxv8i16()33declare <vscale x 16 x i8> @llvm.stepvector.nxv16i8()34 35declare <vscale x 4 x i64> @llvm.stepvector.nxv4i64()36declare <vscale x 16 x i32> @llvm.stepvector.nxv16i32()37