diff --git a/llvm/lib/Target/X86/X86RegisterInfo.td b/llvm/lib/Target/X86/X86RegisterInfo.td index b6eb37d5f0e51df15d4dfadc06d87717b47f4879..2341e1fb0facffe52838d9e46d5ee1787f06f7f4 100644 --- a/llvm/lib/Target/X86/X86RegisterInfo.td +++ b/llvm/lib/Target/X86/X86RegisterInfo.td @@ -360,7 +360,7 @@ def GR64 : RegisterClass<"X86", [i64], 64, def SEGMENT_REG : RegisterClass<"X86", [i16], 16, (add CS, DS, SS, ES, FS, GS)>; // Debug registers. -def DEBUG_REG : RegisterClass<"X86", [i32], 32, (sequence "DR%u", 0, 7)>; +def DEBUG_REG : RegisterClass<"X86", [i32], 32, (sequence "DR%u", 0, 15)>; // Control registers. def CONTROL_REG : RegisterClass<"X86", [i64], 64, (sequence "CR%u", 0, 15)>; diff --git a/llvm/test/MC/X86/x86-64.s b/llvm/test/MC/X86/x86-64.s index 8d930f677f91f467b1eb207fb28ad93f2131494b..326e58c409defc0219902ff6ae2ddd92da96451c 100644 --- a/llvm/test/MC/X86/x86-64.s +++ b/llvm/test/MC/X86/x86-64.s @@ -452,6 +452,9 @@ mov %rdx, %cr8 mov %rdx, %cr15 // CHECK: movq %rdx, %cr15 // CHECK: encoding: [0x44,0x0f,0x22,0xfa] +mov %rdx, %dr15 +// CHECK: movq %rdx, %dr15 +// CHECK: encoding: [0x44,0x0f,0x23,0xfa] // rdar://8456371 - Handle commutable instructions written backward. // CHECK: faddp %st(1)