forked from OSchip/llvm-project
If ISD::ANY_EXTEND fails, try ISD::ZERO_EXTEND and ISD::SIGN_EXTEND before giving up. This fixes 445.gobmk on
X86-64 in fast isel. llvm-svn: 56088
This commit is contained in:
parent
e5ca04e70d
commit
41baf8b22a
|
@ -857,6 +857,13 @@ bool X86FastISel::X86SelectCall(Instruction *I) {
|
|||
case CCValAssign::AExt: {
|
||||
bool Emitted = X86FastEmitExtend(ISD::ANY_EXTEND, VA.getLocVT(),
|
||||
Arg, ArgVT, Arg);
|
||||
if (!Emitted)
|
||||
Emitted = X86FastEmitExtend(ISD::ZERO_EXTEND, VA.getLocVT(),
|
||||
Arg, ArgVT, Arg);
|
||||
if (!Emitted)
|
||||
Emitted = X86FastEmitExtend(ISD::SIGN_EXTEND, VA.getLocVT(),
|
||||
Arg, ArgVT, Arg);
|
||||
|
||||
assert(Emitted && "Failed to emit a aext!");
|
||||
ArgVT = VA.getLocVT();
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue