diff options
author | Eric Christopher <echristo@gmail.com> | 2013-01-31 00:50:46 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2013-01-31 00:50:46 +0000 |
commit | a9bd4b4647694f1384a8e1c891931ba7bdff364f (patch) | |
tree | c43bd4b8481956a86c973d63bf07f8e80e1587b3 /lib | |
parent | 946317d07be338f25b554ab543308490a276b835 (diff) | |
download | llvm-a9bd4b4647694f1384a8e1c891931ba7bdff364f.tar.gz llvm-a9bd4b4647694f1384a8e1c891931ba7bdff364f.tar.bz2 llvm-a9bd4b4647694f1384a8e1c891931ba7bdff364f.tar.xz |
Check and allow floating point registers to select the size of the
register for inline asm. This conforms to how gcc allows for effective
casting of inputs into gprs (fprs is already handled).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174008 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/X86/X86ISelLowering.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index 36d1ad4267..c34010c978 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -18170,7 +18170,7 @@ X86TargetLowering::getRegForInlineAsmConstraint(const std::string &Constraint, Res.first = DestReg; Res.second = &X86::GR8RegClass; } - } else if (VT == MVT::i32) { + } else if (VT == MVT::i32 || VT == MVT::f32) { unsigned DestReg = 0; switch (Res.first) { default: break; @@ -18187,7 +18187,7 @@ X86TargetLowering::getRegForInlineAsmConstraint(const std::string &Constraint, Res.first = DestReg; Res.second = &X86::GR32RegClass; } - } else if (VT == MVT::i64) { + } else if (VT == MVT::i64 || VT == MVT::f64) { unsigned DestReg = 0; switch (Res.first) { default: break; |