Rename GRAD to GR32_AD, to follow the naming convention of other
authorDan Gohman <gohman@apple.com>
Thu, 30 Jul 2009 17:02:08 +0000 (17:02 +0000)
committerDan Gohman <gohman@apple.com>
Thu, 30 Jul 2009 17:02:08 +0000 (17:02 +0000)
classes. And define its SubRegClassList.

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

lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86RegisterInfo.td

index c4ed89e384b19c5e0daf6e3ec52a6e90024f5f4a..bbc6ba5e16bf2d7951e39595e15a5a4bc733ab8b 100644 (file)
@@ -9110,7 +9110,7 @@ X86TargetLowering::getRegForInlineAsmConstraint(const std::string &Constraint,
     // 'A' means EAX + EDX.
     if (Constraint == "A") {
       Res.first = X86::EAX;
-      Res.second = X86::GRADRegisterClass;
+      Res.second = X86::GR32_ADRegisterClass;
     }
     return Res;
   }
index d2197b2415048cc7e1cac3335be817916967c877..796234a939bfbfc0387dfe9f64d7ee570e71195c 100644 (file)
@@ -674,7 +674,9 @@ def GR64_NOREX_NOSP : RegisterClass<"X86", [i64], 64,
 }
 
 // A class to support the 'A' assembler constraint: EAX then EDX.
-def GRAD : RegisterClass<"X86", [i32], 32, [EAX, EDX]>;
+def GR32_AD : RegisterClass<"X86", [i32], 32, [EAX, EDX]> {
+  let SubRegClassList = [GR8_ABCD_L, GR8_ABCD_H, GR16_ABCD];
+}
 
 // Scalar SSE2 floating point registers.
 def FR32 : RegisterClass<"X86", [f32], 32,