summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2019-09-30 17:14:22 +0000
committerCraig Topper <craig.topper@intel.com>2019-09-30 17:14:22 +0000
commit299ebacfe93d205532dcdd9e5e4f7828b678242d (patch)
tree7a1a959590c414e0e0a41c75c28f185e948be47e /llvm/lib
parentb5a1cf9bf88db4ff531f27746f84f7545d0a8583 (diff)
downloadbcm5719-llvm-299ebacfe93d205532dcdd9e5e4f7828b678242d.tar.gz
bcm5719-llvm-299ebacfe93d205532dcdd9e5e4f7828b678242d.zip
[X86] Add ANY_EXTEND to switch in ReplaceNodeResults, but just fall back to default handling.
ANY_EXTEND of v8i8 is marked Custom on AVX512 for handling extends from v8i8. But the type legalization infrastructure will call ReplaceNodeResults for v8i8 results. We should just defer it the default handling instead of asserting in the default of the switch. Fixes PR43509. llvm-svn: 373234
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 089c7ebb19a..18a998dba38 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -27887,6 +27887,12 @@ void X86TargetLowering::ReplaceNodeResults(SDNode *N,
}
return;
}
+ case ISD::ANY_EXTEND:
+ // Right now, only MVT::v8i8 has Custom action for an illegal type.
+ // It's intended to custom handle the input type.
+ assert(N->getValueType(0) == MVT::v8i8 &&
+ "Do not know how to legalize this Node");
+ return;
case ISD::SIGN_EXTEND:
case ISD::ZERO_EXTEND: {
EVT VT = N->getValueType(0);
OpenPOWER on IntegriCloud