diff --git a/lib/Target/ARM/ARMFastISel.cpp b/lib/Target/ARM/ARMFastISel.cpp index b545dbc3ea1..29fcd4009af 100644 --- a/lib/Target/ARM/ARMFastISel.cpp +++ b/lib/Target/ARM/ARMFastISel.cpp @@ -2922,6 +2922,7 @@ bool ARMFastISel::FastLowerArguments() { return false; EVT ArgVT = TLI.getValueType(ArgTy); + if (!ArgVT.isSimple()) return false; switch (ArgVT.getSimpleVT().SimpleTy) { case MVT::i8: case MVT::i16: diff --git a/lib/Target/X86/X86FastISel.cpp b/lib/Target/X86/X86FastISel.cpp index ed17b113a67..b5c32700658 100644 --- a/lib/Target/X86/X86FastISel.cpp +++ b/lib/Target/X86/X86FastISel.cpp @@ -1555,6 +1555,7 @@ bool X86FastISel::FastLowerArguments() { return false; EVT ArgVT = TLI.getValueType(ArgTy); + if (!ArgVT.isSimple()) return false; switch (ArgVT.getSimpleVT().SimpleTy) { case MVT::i32: case MVT::i64: