# RUN: llvm-mc -triple x86_64 -show-encoding %s | FileCheck %s
# CHECK: {evex} shrb %al
# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xd0,0xe8]
{evex} shrb $1, %al
# CHECK: {evex} shrw %ax
# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0xd1,0xe8]
{evex} shrw $1, %ax
# CHECK: {evex} shrl %eax
# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xd1,0xe8]
{evex} shrl $1, %eax
# CHECK: {evex} shrq %rax
# CHECK: encoding: [0x62,0xf4,0xfc,0x08,0xd1,0xe8]
{evex} shrq $1, %rax
# CHECK: {nf} shrb %al
# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0xd0,0xe8]
{nf} shrb $1, %al
# CHECK: {nf} shrw %ax
# CHECK: encoding: [0x62,0xf4,0x7d,0x0c,0xd1,0xe8]
{nf} shrw $1, %ax
# CHECK: {nf} shrl %eax
# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0xd1,0xe8]
{nf} shrl $1, %eax
# CHECK: {nf} shrq %rax
# CHECK: encoding: [0x62,0xf4,0xfc,0x0c,0xd1,0xe8]
{nf} shrq $1, %rax
# CHECK: shrb %al, %bl
# CHECK: encoding: [0x62,0xf4,0x64,0x18,0xd0,0xe8]
shrb $1, %al, %bl
# CHECK: shrw %ax, %bx
# CHECK: encoding: [0x62,0xf4,0x65,0x18,0xd1,0xe8]
shrw $1, %ax, %bx
# CHECK: shrl %eax, %ebx
# CHECK: encoding: [0x62,0xf4,0x64,0x18,0xd1,0xe8]
shrl $1, %eax, %ebx
# CHECK: shrq %rax, %rbx
# CHECK: encoding: [0x62,0xf4,0xe4,0x18,0xd1,0xe8]
shrq $1, %rax, %rbx
# CHECK: {nf} shrb %al, %bl
# CHECK: encoding: [0x62,0xf4,0x64,0x1c,0xd0,0xe8]
{nf} shrb $1, %al, %bl
# CHECK: {nf} shrw %ax, %bx
# CHECK: encoding: [0x62,0xf4,0x65,0x1c,0xd1,0xe8]
{nf} shrw $1, %ax, %bx
# CHECK: {nf} shrl %eax, %ebx
# CHECK: encoding: [0x62,0xf4,0x64,0x1c,0xd1,0xe8]
{nf} shrl $1, %eax, %ebx
# CHECK: {nf} shrq %rax, %rbx
# CHECK: encoding: [0x62,0xf4,0xe4,0x1c,0xd1,0xe8]
{nf} shrq $1, %rax, %rbx
# CHECK: {evex} shrb 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xd0,0x6c,0x80,0x7b]
{evex} shrb $1, 123(%r8,%rax,4)
# CHECK: {evex} shrw 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0xd1,0x6c,0x80,0x7b]
{evex} shrw $1, 123(%r8,%rax,4)
# CHECK: {evex} shrl 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xd1,0x6c,0x80,0x7b]
{evex} shrl $1, 123(%r8,%rax,4)
# CHECK: {evex} shrq 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xd1,0x6c,0x80,0x7b]
{evex} shrq $1, 123(%r8,%rax,4)
# CHECK: {nf} shrb 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xd0,0x6c,0x80,0x7b]
{nf} shrb $1, 123(%r8,%rax,4)
# CHECK: {nf} shrw 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x7d,0x0c,0xd1,0x6c,0x80,0x7b]
{nf} shrw 123(%r8,%rax,4)
# CHECK: {nf} shrl 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xd1,0x6c,0x80,0x7b]
{nf} shrl $1, 123(%r8,%rax,4)
# CHECK: {nf} shrq 123(%r8,%rax,4)
# CHECK: encoding: [0x62,0xd4,0xfc,0x0c,0xd1,0x6c,0x80,0x7b]
{nf} shrq $1, 123(%r8,%rax,4)
# CHECK: shrb 123(%r8,%rax,4), %bl
# CHECK: encoding: [0x62,0xd4,0x64,0x18,0xd0,0x6c,0x80,0x7b]
shrb $1, 123(%r8,%rax,4), %bl
# CHECK: shrw 123(%r8,%rax,4), %bx
# CHECK: encoding: [0x62,0xd4,0x65,0x18,0xd1,0x6c,0x80,0x7b]
shrw $1, 123(%r8,%rax,4), %bx
# CHECK: shrl 123(%r8,%rax,4), %ebx
# CHECK: encoding: [0x62,0xd4,0x64,0x18,0xd1,0x6c,0x80,0x7b]
shrl $1, 123(%r8,%rax,4), %ebx
# CHECK: shrq 123(%r8,%rax,4), %rbx
# CHECK: encoding: [0x62,0xd4,0xe4,0x18,0xd1,0x6c,0x80,0x7b]
shrq $1, 123(%r8,%rax,4), %rbx
# CHECK: {nf} shrb 123(%r8,%rax,4), %bl
# CHECK: encoding: [0x62,0xd4,0x64,0x1c,0xd0,0x6c,0x80,0x7b]
{nf} shrb $1, 123(%r8,%rax,4), %bl
# CHECK: {nf} shrw 123(%r8,%rax,4), %bx
# CHECK: encoding: [0x62,0xd4,0x65,0x1c,0xd1,0x6c,0x80,0x7b]
{nf} shrw $1, 123(%r8,%rax,4), %bx
# CHECK: {nf} shrl 123(%r8,%rax,4), %ebx
# CHECK: encoding: [0x62,0xd4,0x64,0x1c,0xd1,0x6c,0x80,0x7b]
{nf} shrl $1, 123(%r8,%rax,4), %ebx
# CHECK: {nf} shrq 123(%r8,%rax,4), %rbx
# CHECK: encoding: [0x62,0xd4,0xe4,0x1c,0xd1,0x6c,0x80,0x7b]
{nf} shrq $1, 123(%r8,%rax,4), %rbx