Add information preventing several register class constraints from working.
This implements PR828 and CodeGen/X86/2006-07-12-InlineAsmQConstraint.ll

llvm-svn: 29118
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index d96be87..4ebe4ca 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -4140,7 +4140,15 @@
 X86TargetLowering::ConstraintType
 X86TargetLowering::getConstraintType(char ConstraintLetter) const {
   switch (ConstraintLetter) {
-  case 'A': return C_RegisterClass;
+  case 'A':
+  case 'r':
+  case 'R':
+  case 'l':
+  case 'q':
+  case 'Q':
+  case 'x':
+  case 'Y':
+    return C_RegisterClass;
   default: return TargetLowering::getConstraintType(ConstraintLetter);
   }
 }