From: Evan Cheng Date: Thu, 9 Aug 2007 18:05:17 +0000 (+0000) Subject: GR16_ sub-register class should be GR8_, not GR8. That is, it should only be 8-bit... X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a333b41af93a8a7f81d1d3d80651cf014d0390b2;p=oota-llvm.git GR16_ sub-register class should be GR8_, not GR8. That is, it should only be 8-bit registers in 32-bit mode. Ditto for GR32_. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40970 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86RegisterInfo.td b/lib/Target/X86/X86RegisterInfo.td index dba96669ae8..a5b218999c4 100644 --- a/lib/Target/X86/X86RegisterInfo.td +++ b/lib/Target/X86/X86RegisterInfo.td @@ -417,13 +417,14 @@ def GR64 : RegisterClass<"X86", [i64], 64, } -// GR16, GR32 subclasses which contain registers that have R8 sub-registers. +// GR16, GR32 subclasses which contain registers that have GR8 sub-registers. // These should only be used for 32-bit mode. +def GR8_ : RegisterClass<"X86", [i8], 8, [AL, CL, DL, BL, AH, CH, DH, BH]>; def GR16_ : RegisterClass<"X86", [i16], 16, [AX, CX, DX, BX]> { - let SubRegClassList = [GR8]; + let SubRegClassList = [GR8_]; } def GR32_ : RegisterClass<"X86", [i32], 32, [EAX, ECX, EDX, EBX]> { - let SubRegClassList = [GR8, GR16]; + let SubRegClassList = [GR8_, GR16_]; } // Scalar SSE2 floating point registers.