Testcase for r120017.
[oota-llvm.git] / test / MC / X86 / x86-64.s
index 87b38cf7174047a5b3fca4bd90376cb164b7129f..c8b8b24411388ef3fcf06731882d2e0f6ff23545 100644 (file)
@@ -284,16 +284,19 @@ fnstsw %eax
 fnstsw %al
 
 // rdar://8431880
-// CHECK: rclb $1, %bl
-// CHECK: rcll $1, 3735928559(%ebx,%ecx,8)
-// CHECK: rcrl $1, %ecx
-// CHECK: rcrl $1, 305419896
-
+// CHECK: rclb %bl
+// CHECK: rcll 3735928559(%ebx,%ecx,8)
+// CHECK: rcrl %ecx
+// CHECK: rcrl 305419896
 rcl    %bl
 rcll   0xdeadbeef(%ebx,%ecx,8)
 rcr    %ecx
 rcrl   0x12345678
 
+rclb   %bl       // CHECK: rclb %bl     # encoding: [0xd0,0xd3]
+rclb   $1, %bl   // CHECK: rclb %bl     # encoding: [0xd0,0xd3]
+rclb   $2, %bl   // CHECK: rclb $2, %bl # encoding: [0xc0,0xd3,0x02]
+
 // rdar://8418316
 // CHECK: shldw        $1, %bx, %bx
 // CHECK: shldw        $1, %bx, %bx
@@ -766,6 +769,11 @@ iretq
 // CHECK:  encoding: [0x66,0xca,0xce,0x7a]
                lretw   $0x7ace
 
+// PR8592
+lretq  // CHECK: lretq # encoding: [0x48,0xcb]
+lretl  // CHECK: lretl # encoding: [0xcb]
+lret   // CHECK: lretl # encoding: [0xcb]
+
 // rdar://8403907
 sysret
 // CHECK: sysretl
@@ -870,3 +878,35 @@ decl %eax // CHECK:        decl    %eax # encoding: [0xff,0xc8]
 // CHECK: sidt 4(%rax)
 // CHECK:  encoding: [0x0f,0x01,0x48,0x04]
                sidtq   4(%rax)
+
+
+// rdar://8208615
+mov (%rsi), %gs  // CHECK: movl        (%rsi), %gs # encoding: [0x8e,0x2e]
+mov %gs, (%rsi)  // CHECK: movl        %gs, (%rsi) # encoding: [0x8c,0x2e]
+
+
+// rdar://8431864
+       div     %bl,%al
+       div     %bx,%ax
+       div     %ecx,%eax
+       div     0xdeadbeef(%ebx,%ecx,8),%eax
+       div     0x45,%eax
+       div     0x7eed,%eax
+       div     0xbabecafe,%eax
+       div     0x12345678,%eax
+       idiv    %bl,%al
+       idiv    %bx,%ax
+       idiv    %ecx,%eax
+       idiv    0xdeadbeef(%ebx,%ecx,8),%eax
+       idiv    0x45,%eax
+       idiv    0x7eed,%eax
+       idiv    0xbabecafe,%eax
+       idiv    0x12345678,%eax
+
+// PR8524
+movd   %rax, %mm5 // CHECK: movd %rax, %mm5 # encoding: [0x48,0x0f,0x6e,0xe8]
+movd   %mm5, %rbx // CHECK: movd %mm5, %rbx # encoding: [0x48,0x0f,0x7e,0xeb]
+movq   %rax, %mm5 // CHECK: movd %rax, %mm5 # encoding: [0x48,0x0f,0x6e,0xe8]
+movq   %mm5, %rbx // CHECK: movd %mm5, %rbx # encoding: [0x48,0x0f,0x7e,0xeb]
+
+rex64 // CHECK: rex64 # encoding: [0x48]