claim that "st" is from the 80-bit register file. This causes x87-using inline
authorChris Lattner <sabre@nondot.org>
Mon, 24 Sep 2007 05:27:37 +0000 (05:27 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 24 Sep 2007 05:27:37 +0000 (05:27 +0000)
asm to die with:

ScheduleDAG.cpp:269: failed assertion `false && "Couldn't find the register class"'

instead of:
failed assertion `RegMap->getRegClass(VReg) == RC && "Register class of operand and regclass of use don't agree!"'

yay.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42259 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelLowering.cpp

index e52b6531faf47c47c4a179b09dc8580a9cd6082c..1e5e478593fb27b412fe5d7d800a4739fc1683ce 100644 (file)
@@ -5279,7 +5279,7 @@ X86TargetLowering::getRegForInlineAsmConstraint(const std::string &Constraint,
     // GCC calls "st(0)" just plain "st".
     if (StringsEqualNoCase("{st}", Constraint)) {
       Res.first = X86::ST0;
-      Res.second = X86::RSTRegisterClass;
+      Res.second = X86::RFP80RegisterClass;
     }
 
     return Res;