[X86] Don't allow DR8-DR15 to be assembled in 32-bit mode. Add missing test for CR8...
authorCraig Topper <craig.topper@gmail.com>
Sat, 27 Aug 2016 17:13:34 +0000 (17:13 +0000)
committerCraig Topper <craig.topper@gmail.com>
Sat, 27 Aug 2016 17:13:34 +0000 (17:13 +0000)
llvm-svn: 279921

llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
llvm/test/MC/X86/x86_errors.s

index 3f03163..efa2a19 100644 (file)
@@ -750,6 +750,8 @@ namespace X86II {
     case X86::R12B:  case X86::R13B:  case X86::R14B:  case X86::R15B:
     case X86::CR8:   case X86::CR9:   case X86::CR10:  case X86::CR11:
     case X86::CR12:  case X86::CR13:  case X86::CR14:  case X86::CR15:
+    case X86::DR8:   case X86::DR9:   case X86::DR10:  case X86::DR11:
+    case X86::DR12:  case X86::DR13:  case X86::DR14:  case X86::DR15:
       return true;
     }
     return false;
index 3eaf403..f928fbc 100644 (file)
@@ -68,3 +68,9 @@ jrcxz 1
 
 // 64: error: instruction requires: Not 64-bit mode
 jcxz 1
+
+// 32: error: register %cr8 is only available in 64-bit mode
+movl %edx, %cr8
+
+// 32: error: register %dr8 is only available in 64-bit mode
+movl %edx, %dr8