Teach X86FastISel how to handle CCValAssign::BCvt, which is used for

MMX arguments. This fixes PR4684.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78163 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman
2009-08-05 05:33:42 +00:00
parent 26d054d903
commit c3c9c486e4
4 changed files with 29 additions and 2 deletions

View File

@@ -1351,6 +1351,14 @@ bool X86FastISel::X86SelectCall(Instruction *I) {
ArgVT = VA.getLocVT();
break;
}
case CCValAssign::BCvt: {
unsigned BC = FastEmit_r(ArgVT.getSimpleVT(), VA.getLocVT().getSimpleVT(),
ISD::BIT_CONVERT, Arg);
assert(BC != 0 && "Failed to emit a bitcast!");
Arg = BC;
ArgVT = VA.getLocVT();
break;
}
}
if (VA.isRegLoc()) {