[PATCH] D141351: assert feature fp16
Wang, Xin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 9 21:28:10 PST 2023
XinWang10 created this revision.
Herald added subscribers: pengfei, hiraditya.
Herald added a project: All.
XinWang10 requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D141351
Files:
llvm/lib/Target/X86/X86ISelLowering.cpp
Index: llvm/lib/Target/X86/X86ISelLowering.cpp
===================================================================
--- llvm/lib/Target/X86/X86ISelLowering.cpp
+++ llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -34113,7 +34113,7 @@
Results.push_back(V);
return;
}
- case ISD::BITREVERSE:{
+ case ISD::BITREVERSE: {
assert(N->getValueType(0) == MVT::i64 && "Unexpected VT!");
assert(Subtarget.hasXOP() && "Expected XOP");
// We can use VPPERM by copying to a vector register and back. We'll need
@@ -34121,14 +34121,18 @@
Results.push_back(LowerBITREVERSE(SDValue(N, 0), Subtarget, DAG));
return;
}
- case ISD::EXTRACT_VECTOR_ELT:{
+ case ISD::EXTRACT_VECTOR_ELT: {
// f16 = extract vxxf16 %vec, i64 %idx
MVT SplitVT = N->getSimpleValueType(0);
- assert(SplitVT == MVT::f16 && "Unexpected Value type of EXTRACT_VECTOR_ELT!");
- SDValue VecOp = N->getOperand(0);
- MVT ExtVT = MVT::getVectorVT(MVT::i16, VecOp.getValueType().getVectorNumElements());
+ assert(SplitVT == MVT::f16 &&
+ "Unexpected Value type of EXTRACT_VECTOR_ELT!");
+ assert(Subtarget.HasFP16() && "Expected FP16") SDValue VecOp =
+ N->getOperand(0);
+ MVT ExtVT =
+ MVT::getVectorVT(MVT::i16, VecOp.getValueType().getVectorNumElements());
SDValue Split = DAG.getBitcast(ExtVT, N->getOperand(0));
- Split = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::i16, Split, N->getOperand(1));
+ Split = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::i16, Split,
+ N->getOperand(1));
Split = DAG.getBitcast(MVT::f16, Split);
Results.push_back(Split);
return;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D141351.487668.patch
Type: text/x-patch
Size: 1654 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230110/8e0c1ceb/attachment.bin>
More information about the llvm-commits
mailing list