Skip to content

Commit 2190e2c

Browse files
author
git apple-llvm automerger
committed
Merge commit '1d8b51667ab3' from llvm.org/main into next
2 parents 6fa72ec + 1d8b516 commit 2190e2c

File tree

2 files changed

+116
-3
lines changed

2 files changed

+116
-3
lines changed

llvm/include/llvm/CodeGen/BasicTTIImpl.h

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1793,18 +1793,25 @@ class BasicTTIImplBase : public TargetTransformInfoImplCRTPBase<T> {
17931793
assert(ICA.getArgTypes().size() >= 2 &&
17941794
"Expected VPIntrinsic to have Mask and Vector Length args and "
17951795
"types");
1796+
1797+
ArrayRef<const Value *> NewArgs = ArrayRef(ICA.getArgs());
1798+
if (!ICA.isTypeBasedOnly())
1799+
NewArgs = NewArgs.drop_back(2);
17961800
ArrayRef<Type *> NewTys = ArrayRef(ICA.getArgTypes()).drop_back(2);
17971801

17981802
// VPReduction intrinsics have a start value argument that their non-vp
17991803
// counterparts do not have, except for the fadd and fmul non-vp
18001804
// counterpart.
18011805
if (VPReductionIntrinsic::isVPReduction(ICA.getID()) &&
18021806
*FID != Intrinsic::vector_reduce_fadd &&
1803-
*FID != Intrinsic::vector_reduce_fmul)
1807+
*FID != Intrinsic::vector_reduce_fmul) {
1808+
if (!ICA.isTypeBasedOnly())
1809+
NewArgs = NewArgs.drop_front();
18041810
NewTys = NewTys.drop_front();
1811+
}
18051812

1806-
IntrinsicCostAttributes NewICA(*FID, ICA.getReturnType(), NewTys,
1807-
ICA.getFlags());
1813+
IntrinsicCostAttributes NewICA(*FID, ICA.getReturnType(), NewArgs,
1814+
NewTys, ICA.getFlags());
18081815
return thisT()->getIntrinsicInstrCost(NewICA, CostKind);
18091816
}
18101817
}

llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1648,3 +1648,109 @@ define void @splice() {
16481648
%splice_nxv2i1 = call <vscale x 2 x i1> @llvm.experimental.vp.splice.nxv2i1(<vscale x 2 x i1> zeroinitializer, <vscale x 2 x i1> zeroinitializer, i32 1, <vscale x 2 x i1> zeroinitializer, i32 poison, i32 poison)
16491649
ret void
16501650
}
1651+
1652+
define void @is.fpclass() {
1653+
; ARGBASED-LABEL: 'is.fpclass'
1654+
; ARGBASED-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %1 = call <2 x i1> @llvm.vp.is.fpclass.v2bf16(<2 x bfloat> poison, i32 0, <2 x i1> poison, i32 poison)
1655+
; ARGBASED-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %2 = call <4 x i1> @llvm.vp.is.fpclass.v4bf16(<4 x bfloat> poison, i32 0, <4 x i1> poison, i32 poison)
1656+
; ARGBASED-NEXT: Cost Model: Found an estimated cost of 18 for instruction: %3 = call <8 x i1> @llvm.vp.is.fpclass.v8bf16(<8 x bfloat> poison, i32 0, <8 x i1> poison, i32 poison)
1657+
; ARGBASED-NEXT: Cost Model: Found an estimated cost of 34 for instruction: %4 = call <16 x i1> @llvm.vp.is.fpclass.v16bf16(<16 x bfloat> poison, i32 0, <16 x i1> poison, i32 poison)
1658+
; ARGBASED-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %5 = call <2 x i1> @llvm.vp.is.fpclass.v2f16(<2 x half> poison, i32 0, <2 x i1> poison, i32 poison)
1659+
; ARGBASED-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %6 = call <4 x i1> @llvm.vp.is.fpclass.v4f16(<4 x half> poison, i32 0, <4 x i1> poison, i32 poison)
1660+
; ARGBASED-NEXT: Cost Model: Found an estimated cost of 18 for instruction: %7 = call <8 x i1> @llvm.vp.is.fpclass.v8f16(<8 x half> poison, i32 0, <8 x i1> poison, i32 poison)
1661+
; ARGBASED-NEXT: Cost Model: Found an estimated cost of 34 for instruction: %8 = call <16 x i1> @llvm.vp.is.fpclass.v16f16(<16 x half> poison, i32 0, <16 x i1> poison, i32 poison)
1662+
; ARGBASED-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %9 = call <2 x i1> @llvm.vp.is.fpclass.v2f32(<2 x float> poison, i32 0, <2 x i1> poison, i32 poison)
1663+
; ARGBASED-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %10 = call <4 x i1> @llvm.vp.is.fpclass.v4f32(<4 x float> poison, i32 0, <4 x i1> poison, i32 poison)
1664+
; ARGBASED-NEXT: Cost Model: Found an estimated cost of 18 for instruction: %11 = call <8 x i1> @llvm.vp.is.fpclass.v8f32(<8 x float> poison, i32 0, <8 x i1> poison, i32 poison)
1665+
; ARGBASED-NEXT: Cost Model: Found an estimated cost of 34 for instruction: %12 = call <16 x i1> @llvm.vp.is.fpclass.v16f32(<16 x float> poison, i32 0, <16 x i1> poison, i32 poison)
1666+
; ARGBASED-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %13 = call <2 x i1> @llvm.vp.is.fpclass.v2f64(<2 x double> poison, i32 0, <2 x i1> poison, i32 poison)
1667+
; ARGBASED-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %14 = call <4 x i1> @llvm.vp.is.fpclass.v4f64(<4 x double> poison, i32 0, <4 x i1> poison, i32 poison)
1668+
; ARGBASED-NEXT: Cost Model: Found an estimated cost of 18 for instruction: %15 = call <8 x i1> @llvm.vp.is.fpclass.v8f64(<8 x double> poison, i32 0, <8 x i1> poison, i32 poison)
1669+
; ARGBASED-NEXT: Cost Model: Found an estimated cost of 34 for instruction: %16 = call <16 x i1> @llvm.vp.is.fpclass.v16f64(<16 x double> poison, i32 0, <16 x i1> poison, i32 poison)
1670+
; ARGBASED-NEXT: Cost Model: Invalid cost for instruction: %17 = call <vscale x 2 x i1> @llvm.vp.is.fpclass.nxv2bf16(<vscale x 2 x bfloat> poison, i32 0, <vscale x 2 x i1> poison, i32 poison)
1671+
; ARGBASED-NEXT: Cost Model: Invalid cost for instruction: %18 = call <vscale x 4 x i1> @llvm.vp.is.fpclass.nxv4bf16(<vscale x 4 x bfloat> poison, i32 0, <vscale x 4 x i1> poison, i32 poison)
1672+
; ARGBASED-NEXT: Cost Model: Invalid cost for instruction: %19 = call <vscale x 8 x i1> @llvm.vp.is.fpclass.nxv8bf16(<vscale x 8 x bfloat> poison, i32 0, <vscale x 8 x i1> poison, i32 poison)
1673+
; ARGBASED-NEXT: Cost Model: Invalid cost for instruction: %20 = call <vscale x 16 x i1> @llvm.vp.is.fpclass.nxv16bf16(<vscale x 16 x bfloat> poison, i32 0, <vscale x 16 x i1> poison, i32 poison)
1674+
; ARGBASED-NEXT: Cost Model: Invalid cost for instruction: %21 = call <vscale x 2 x i1> @llvm.vp.is.fpclass.nxv2f16(<vscale x 2 x half> poison, i32 0, <vscale x 2 x i1> poison, i32 poison)
1675+
; ARGBASED-NEXT: Cost Model: Invalid cost for instruction: %22 = call <vscale x 4 x i1> @llvm.vp.is.fpclass.nxv4f16(<vscale x 4 x half> poison, i32 0, <vscale x 4 x i1> poison, i32 poison)
1676+
; ARGBASED-NEXT: Cost Model: Invalid cost for instruction: %23 = call <vscale x 8 x i1> @llvm.vp.is.fpclass.nxv8f16(<vscale x 8 x half> poison, i32 0, <vscale x 8 x i1> poison, i32 poison)
1677+
; ARGBASED-NEXT: Cost Model: Invalid cost for instruction: %24 = call <vscale x 16 x i1> @llvm.vp.is.fpclass.nxv16f16(<vscale x 16 x half> poison, i32 0, <vscale x 16 x i1> poison, i32 poison)
1678+
; ARGBASED-NEXT: Cost Model: Invalid cost for instruction: %25 = call <vscale x 2 x i1> @llvm.vp.is.fpclass.nxv2f32(<vscale x 2 x float> poison, i32 0, <vscale x 2 x i1> poison, i32 poison)
1679+
; ARGBASED-NEXT: Cost Model: Invalid cost for instruction: %26 = call <vscale x 4 x i1> @llvm.vp.is.fpclass.nxv4f32(<vscale x 4 x float> poison, i32 0, <vscale x 4 x i1> poison, i32 poison)
1680+
; ARGBASED-NEXT: Cost Model: Invalid cost for instruction: %27 = call <vscale x 8 x i1> @llvm.vp.is.fpclass.nxv8f32(<vscale x 8 x float> poison, i32 0, <vscale x 8 x i1> poison, i32 poison)
1681+
; ARGBASED-NEXT: Cost Model: Invalid cost for instruction: %28 = call <vscale x 16 x i1> @llvm.vp.is.fpclass.nxv16f32(<vscale x 16 x float> poison, i32 0, <vscale x 16 x i1> poison, i32 poison)
1682+
; ARGBASED-NEXT: Cost Model: Invalid cost for instruction: %29 = call <vscale x 2 x i1> @llvm.vp.is.fpclass.nxv2f64(<vscale x 2 x double> poison, i32 0, <vscale x 2 x i1> poison, i32 poison)
1683+
; ARGBASED-NEXT: Cost Model: Invalid cost for instruction: %30 = call <vscale x 4 x i1> @llvm.vp.is.fpclass.nxv4f64(<vscale x 4 x double> poison, i32 0, <vscale x 4 x i1> poison, i32 poison)
1684+
; ARGBASED-NEXT: Cost Model: Invalid cost for instruction: %31 = call <vscale x 8 x i1> @llvm.vp.is.fpclass.nxv8f64(<vscale x 8 x double> poison, i32 0, <vscale x 8 x i1> poison, i32 poison)
1685+
; ARGBASED-NEXT: Cost Model: Invalid cost for instruction: %32 = call <vscale x 16 x i1> @llvm.vp.is.fpclass.nxv16f64(<vscale x 16 x double> poison, i32 0, <vscale x 16 x i1> poison, i32 poison)
1686+
; ARGBASED-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
1687+
;
1688+
; TYPEBASED-LABEL: 'is.fpclass'
1689+
; TYPEBASED-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %1 = call <2 x i1> @llvm.vp.is.fpclass.v2bf16(<2 x bfloat> poison, i32 0, <2 x i1> poison, i32 poison)
1690+
; TYPEBASED-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %2 = call <4 x i1> @llvm.vp.is.fpclass.v4bf16(<4 x bfloat> poison, i32 0, <4 x i1> poison, i32 poison)
1691+
; TYPEBASED-NEXT: Cost Model: Found an estimated cost of 33 for instruction: %3 = call <8 x i1> @llvm.vp.is.fpclass.v8bf16(<8 x bfloat> poison, i32 0, <8 x i1> poison, i32 poison)
1692+
; TYPEBASED-NEXT: Cost Model: Found an estimated cost of 65 for instruction: %4 = call <16 x i1> @llvm.vp.is.fpclass.v16bf16(<16 x bfloat> poison, i32 0, <16 x i1> poison, i32 poison)
1693+
; TYPEBASED-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %5 = call <2 x i1> @llvm.vp.is.fpclass.v2f16(<2 x half> poison, i32 0, <2 x i1> poison, i32 poison)
1694+
; TYPEBASED-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %6 = call <4 x i1> @llvm.vp.is.fpclass.v4f16(<4 x half> poison, i32 0, <4 x i1> poison, i32 poison)
1695+
; TYPEBASED-NEXT: Cost Model: Found an estimated cost of 33 for instruction: %7 = call <8 x i1> @llvm.vp.is.fpclass.v8f16(<8 x half> poison, i32 0, <8 x i1> poison, i32 poison)
1696+
; TYPEBASED-NEXT: Cost Model: Found an estimated cost of 65 for instruction: %8 = call <16 x i1> @llvm.vp.is.fpclass.v16f16(<16 x half> poison, i32 0, <16 x i1> poison, i32 poison)
1697+
; TYPEBASED-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %9 = call <2 x i1> @llvm.vp.is.fpclass.v2f32(<2 x float> poison, i32 0, <2 x i1> poison, i32 poison)
1698+
; TYPEBASED-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %10 = call <4 x i1> @llvm.vp.is.fpclass.v4f32(<4 x float> poison, i32 0, <4 x i1> poison, i32 poison)
1699+
; TYPEBASED-NEXT: Cost Model: Found an estimated cost of 33 for instruction: %11 = call <8 x i1> @llvm.vp.is.fpclass.v8f32(<8 x float> poison, i32 0, <8 x i1> poison, i32 poison)
1700+
; TYPEBASED-NEXT: Cost Model: Found an estimated cost of 65 for instruction: %12 = call <16 x i1> @llvm.vp.is.fpclass.v16f32(<16 x float> poison, i32 0, <16 x i1> poison, i32 poison)
1701+
; TYPEBASED-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %13 = call <2 x i1> @llvm.vp.is.fpclass.v2f64(<2 x double> poison, i32 0, <2 x i1> poison, i32 poison)
1702+
; TYPEBASED-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %14 = call <4 x i1> @llvm.vp.is.fpclass.v4f64(<4 x double> poison, i32 0, <4 x i1> poison, i32 poison)
1703+
; TYPEBASED-NEXT: Cost Model: Found an estimated cost of 33 for instruction: %15 = call <8 x i1> @llvm.vp.is.fpclass.v8f64(<8 x double> poison, i32 0, <8 x i1> poison, i32 poison)
1704+
; TYPEBASED-NEXT: Cost Model: Found an estimated cost of 65 for instruction: %16 = call <16 x i1> @llvm.vp.is.fpclass.v16f64(<16 x double> poison, i32 0, <16 x i1> poison, i32 poison)
1705+
; TYPEBASED-NEXT: Cost Model: Invalid cost for instruction: %17 = call <vscale x 2 x i1> @llvm.vp.is.fpclass.nxv2bf16(<vscale x 2 x bfloat> poison, i32 0, <vscale x 2 x i1> poison, i32 poison)
1706+
; TYPEBASED-NEXT: Cost Model: Invalid cost for instruction: %18 = call <vscale x 4 x i1> @llvm.vp.is.fpclass.nxv4bf16(<vscale x 4 x bfloat> poison, i32 0, <vscale x 4 x i1> poison, i32 poison)
1707+
; TYPEBASED-NEXT: Cost Model: Invalid cost for instruction: %19 = call <vscale x 8 x i1> @llvm.vp.is.fpclass.nxv8bf16(<vscale x 8 x bfloat> poison, i32 0, <vscale x 8 x i1> poison, i32 poison)
1708+
; TYPEBASED-NEXT: Cost Model: Invalid cost for instruction: %20 = call <vscale x 16 x i1> @llvm.vp.is.fpclass.nxv16bf16(<vscale x 16 x bfloat> poison, i32 0, <vscale x 16 x i1> poison, i32 poison)
1709+
; TYPEBASED-NEXT: Cost Model: Invalid cost for instruction: %21 = call <vscale x 2 x i1> @llvm.vp.is.fpclass.nxv2f16(<vscale x 2 x half> poison, i32 0, <vscale x 2 x i1> poison, i32 poison)
1710+
; TYPEBASED-NEXT: Cost Model: Invalid cost for instruction: %22 = call <vscale x 4 x i1> @llvm.vp.is.fpclass.nxv4f16(<vscale x 4 x half> poison, i32 0, <vscale x 4 x i1> poison, i32 poison)
1711+
; TYPEBASED-NEXT: Cost Model: Invalid cost for instruction: %23 = call <vscale x 8 x i1> @llvm.vp.is.fpclass.nxv8f16(<vscale x 8 x half> poison, i32 0, <vscale x 8 x i1> poison, i32 poison)
1712+
; TYPEBASED-NEXT: Cost Model: Invalid cost for instruction: %24 = call <vscale x 16 x i1> @llvm.vp.is.fpclass.nxv16f16(<vscale x 16 x half> poison, i32 0, <vscale x 16 x i1> poison, i32 poison)
1713+
; TYPEBASED-NEXT: Cost Model: Invalid cost for instruction: %25 = call <vscale x 2 x i1> @llvm.vp.is.fpclass.nxv2f32(<vscale x 2 x float> poison, i32 0, <vscale x 2 x i1> poison, i32 poison)
1714+
; TYPEBASED-NEXT: Cost Model: Invalid cost for instruction: %26 = call <vscale x 4 x i1> @llvm.vp.is.fpclass.nxv4f32(<vscale x 4 x float> poison, i32 0, <vscale x 4 x i1> poison, i32 poison)
1715+
; TYPEBASED-NEXT: Cost Model: Invalid cost for instruction: %27 = call <vscale x 8 x i1> @llvm.vp.is.fpclass.nxv8f32(<vscale x 8 x float> poison, i32 0, <vscale x 8 x i1> poison, i32 poison)
1716+
; TYPEBASED-NEXT: Cost Model: Invalid cost for instruction: %28 = call <vscale x 16 x i1> @llvm.vp.is.fpclass.nxv16f32(<vscale x 16 x float> poison, i32 0, <vscale x 16 x i1> poison, i32 poison)
1717+
; TYPEBASED-NEXT: Cost Model: Invalid cost for instruction: %29 = call <vscale x 2 x i1> @llvm.vp.is.fpclass.nxv2f64(<vscale x 2 x double> poison, i32 0, <vscale x 2 x i1> poison, i32 poison)
1718+
; TYPEBASED-NEXT: Cost Model: Invalid cost for instruction: %30 = call <vscale x 4 x i1> @llvm.vp.is.fpclass.nxv4f64(<vscale x 4 x double> poison, i32 0, <vscale x 4 x i1> poison, i32 poison)
1719+
; TYPEBASED-NEXT: Cost Model: Invalid cost for instruction: %31 = call <vscale x 8 x i1> @llvm.vp.is.fpclass.nxv8f64(<vscale x 8 x double> poison, i32 0, <vscale x 8 x i1> poison, i32 poison)
1720+
; TYPEBASED-NEXT: Cost Model: Invalid cost for instruction: %32 = call <vscale x 16 x i1> @llvm.vp.is.fpclass.nxv16f64(<vscale x 16 x double> poison, i32 0, <vscale x 16 x i1> poison, i32 poison)
1721+
; TYPEBASED-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
1722+
;
1723+
call <2 x i1> @llvm.vp.is.fpclass.v2bf16(<2 x bfloat> poison, i32 0, <2 x i1> poison, i32 poison)
1724+
call <4 x i1> @llvm.vp.is.fpclass.v4bf16(<4 x bfloat> poison, i32 0, <4 x i1> poison, i32 poison)
1725+
call <8 x i1> @llvm.vp.is.fpclass.v8bf16(<8 x bfloat> poison, i32 0, <8 x i1> poison, i32 poison)
1726+
call <16 x i1> @llvm.vp.is.fpclass.v16bf16(<16 x bfloat> poison, i32 0, <16 x i1> poison, i32 poison)
1727+
call <2 x i1> @llvm.vp.is.fpclass.v2f16(<2 x half> poison, i32 0, <2 x i1> poison, i32 poison)
1728+
call <4 x i1> @llvm.vp.is.fpclass.v4f16(<4 x half> poison, i32 0, <4 x i1> poison, i32 poison)
1729+
call <8 x i1> @llvm.vp.is.fpclass.v8f16(<8 x half> poison, i32 0, <8 x i1> poison, i32 poison)
1730+
call <16 x i1> @llvm.vp.is.fpclass.v16f16(<16 x half> poison, i32 0, <16 x i1> poison, i32 poison)
1731+
call <2 x i1> @llvm.vp.is.fpclass.v2f32(<2 x float> poison, i32 0, <2 x i1> poison, i32 poison)
1732+
call <4 x i1> @llvm.vp.is.fpclass.v4f32(<4 x float> poison, i32 0, <4 x i1> poison, i32 poison)
1733+
call <8 x i1> @llvm.vp.is.fpclass.v8f32(<8 x float> poison, i32 0, <8 x i1> poison, i32 poison)
1734+
call <16 x i1> @llvm.vp.is.fpclass.v16f32(<16 x float> poison, i32 0, <16 x i1> poison, i32 poison)
1735+
call <2 x i1> @llvm.vp.is.fpclass.v2f64(<2 x double> poison, i32 0, <2 x i1> poison, i32 poison)
1736+
call <4 x i1> @llvm.vp.is.fpclass.v4f64(<4 x double> poison, i32 0, <4 x i1> poison, i32 poison)
1737+
call <8 x i1> @llvm.vp.is.fpclass.v8f64(<8 x double> poison, i32 0, <8 x i1> poison, i32 poison)
1738+
call <16 x i1> @llvm.vp.is.fpclass.v16f64(<16 x double> poison, i32 0, <16 x i1> poison, i32 poison)
1739+
call <vscale x 2 x i1> @llvm.vp.is.fpclass.nxv2bf16(<vscale x 2 x bfloat> poison, i32 0, <vscale x 2 x i1> poison, i32 poison)
1740+
call <vscale x 4 x i1> @llvm.vp.is.fpclass.nxv4bf16(<vscale x 4 x bfloat> poison, i32 0, <vscale x 4 x i1> poison, i32 poison)
1741+
call <vscale x 8 x i1> @llvm.vp.is.fpclass.nxv8bf16(<vscale x 8 x bfloat> poison, i32 0, <vscale x 8 x i1> poison, i32 poison)
1742+
call <vscale x 16 x i1> @llvm.vp.is.fpclass.nxv16bf16(<vscale x 16 x bfloat> poison, i32 0, <vscale x 16 x i1> poison, i32 poison)
1743+
call <vscale x 2 x i1> @llvm.vp.is.fpclass.nxv2f16(<vscale x 2 x half> poison, i32 0, <vscale x 2 x i1> poison, i32 poison)
1744+
call <vscale x 4 x i1> @llvm.vp.is.fpclass.nxv4f16(<vscale x 4 x half> poison, i32 0, <vscale x 4 x i1> poison, i32 poison)
1745+
call <vscale x 8 x i1> @llvm.vp.is.fpclass.nxv8f16(<vscale x 8 x half> poison, i32 0, <vscale x 8 x i1> poison, i32 poison)
1746+
call <vscale x 16 x i1> @llvm.vp.is.fpclass.nxv16f16(<vscale x 16 x half> poison, i32 0, <vscale x 16 x i1> poison, i32 poison)
1747+
call <vscale x 2 x i1> @llvm.vp.is.fpclass.nxv2f32(<vscale x 2 x float> poison, i32 0, <vscale x 2 x i1> poison, i32 poison)
1748+
call <vscale x 4 x i1> @llvm.vp.is.fpclass.nxv4f32(<vscale x 4 x float> poison, i32 0, <vscale x 4 x i1> poison, i32 poison)
1749+
call <vscale x 8 x i1> @llvm.vp.is.fpclass.nxv8f32(<vscale x 8 x float> poison, i32 0, <vscale x 8 x i1> poison, i32 poison)
1750+
call <vscale x 16 x i1> @llvm.vp.is.fpclass.nxv16f32(<vscale x 16 x float> poison, i32 0, <vscale x 16 x i1> poison, i32 poison)
1751+
call <vscale x 2 x i1> @llvm.vp.is.fpclass.nxv2f64(<vscale x 2 x double> poison, i32 0, <vscale x 2 x i1> poison, i32 poison)
1752+
call <vscale x 4 x i1> @llvm.vp.is.fpclass.nxv4f64(<vscale x 4 x double> poison, i32 0, <vscale x 4 x i1> poison, i32 poison)
1753+
call <vscale x 8 x i1> @llvm.vp.is.fpclass.nxv8f64(<vscale x 8 x double> poison, i32 0, <vscale x 8 x i1> poison, i32 poison)
1754+
call <vscale x 16 x i1> @llvm.vp.is.fpclass.nxv16f64(<vscale x 16 x double> poison, i32 0, <vscale x 16 x i1> poison, i32 poison)
1755+
ret void
1756+
}

0 commit comments

Comments
 (0)