1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/test/MC/X86/I186-64.s
Gadi Haber d141ef10e6 [X86][I86,I186,I286,I386,I486,PPRO, MMX]: Adding full coverage of MC encoding for the I86, I186, I286, I386, I486, PPRO and MMX isa sets.<NFC>
NFC.
 Adding MC regressions tests to cover the I86, I186, I286, I386, I486, PPRO and MMX isa sets.
 This patch is part of a larger task to cover MC encoding of all X86 ISA Sets.
 Started in revision: https://reviews.llvm.org/D39952

Reviewers: zvi, RKSimon, AndreiGrischenko, craig.topper
Differential Revision: https://reviews.llvm.org/D40879

Change-Id: I231a35861611bfd3d23c74cc59507373f021a629
llvm-svn: 322544
2018-01-16 11:33:45 +00:00

847 lines
23 KiB
ArmAsm

// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
// CHECK: enter $0, $0
// CHECK: encoding: [0xc8,0x00,0x00,0x00]
enter $0, $0
// CHECK: imull $0, %r13d, %r13d
// CHECK: encoding: [0x45,0x6b,0xed,0x00]
imull $0, %r13d, %r13d
// CHECK: insb %dx, %es:(%rdi)
// CHECK: encoding: [0x6c]
insb %dx, %es:(%rdi)
// CHECK: insl %dx, %es:(%rdi)
// CHECK: encoding: [0x6d]
insl %dx, %es:(%rdi)
// CHECK: insw %dx, %es:(%rdi)
// CHECK: encoding: [0x66,0x6d]
insw %dx, %es:(%rdi)
// CHECK: leave
// CHECK: encoding: [0xc9]
leave
// CHECK: outsb %gs:(%rsi), %dx
// CHECK: encoding: [0x65,0x6e]
outsb %gs:(%rsi), %dx
// CHECK: outsl %gs:(%rsi), %dx
// CHECK: encoding: [0x65,0x6f]
outsl %gs:(%rsi), %dx
// CHECK: outsw %gs:(%rsi), %dx
// CHECK: encoding: [0x66,0x65,0x6f]
outsw %gs:(%rsi), %dx
// CHECK: pushq $0
// CHECK: encoding: [0x6a,0x00]
pushq $0
// CHECK: rclb $0, 485498096
// CHECK: encoding: [0xc0,0x14,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
rclb $0, 485498096
// CHECK: rclb $0, 64(%rdx)
// CHECK: encoding: [0xc0,0x52,0x40,0x00]
rclb $0, 64(%rdx)
// CHECK: rclb $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0xc0,0x54,0x82,0x40,0x00]
rclb $0, 64(%rdx,%rax,4)
// CHECK: rclb $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0xc0,0x54,0x82,0xc0,0x00]
rclb $0, -64(%rdx,%rax,4)
// CHECK: rclb $0, 64(%rdx,%rax)
// CHECK: encoding: [0xc0,0x54,0x02,0x40,0x00]
rclb $0, 64(%rdx,%rax)
// CHECK: rclb $0, %r14b
// CHECK: encoding: [0x41,0xc0,0xd6,0x00]
rclb $0, %r14b
// CHECK: rclb $0, (%rdx)
// CHECK: encoding: [0xc0,0x12,0x00]
rclb $0, (%rdx)
// CHECK: rcll $0, 485498096
// CHECK: encoding: [0xc1,0x14,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
rcll $0, 485498096
// CHECK: rcll $0, 64(%rdx)
// CHECK: encoding: [0xc1,0x52,0x40,0x00]
rcll $0, 64(%rdx)
// CHECK: rcll $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0xc1,0x54,0x82,0x40,0x00]
rcll $0, 64(%rdx,%rax,4)
// CHECK: rcll $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0xc1,0x54,0x82,0xc0,0x00]
rcll $0, -64(%rdx,%rax,4)
// CHECK: rcll $0, 64(%rdx,%rax)
// CHECK: encoding: [0xc1,0x54,0x02,0x40,0x00]
rcll $0, 64(%rdx,%rax)
// CHECK: rcll $0, %r13d
// CHECK: encoding: [0x41,0xc1,0xd5,0x00]
rcll $0, %r13d
// CHECK: rcll $0, (%rdx)
// CHECK: encoding: [0xc1,0x12,0x00]
rcll $0, (%rdx)
// CHECK: rclq $0, 485498096
// CHECK: encoding: [0x48,0xc1,0x14,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
rclq $0, 485498096
// CHECK: rclq $0, 64(%rdx)
// CHECK: encoding: [0x48,0xc1,0x52,0x40,0x00]
rclq $0, 64(%rdx)
// CHECK: rclq $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0x48,0xc1,0x54,0x82,0x40,0x00]
rclq $0, 64(%rdx,%rax,4)
// CHECK: rclq $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0x48,0xc1,0x54,0x82,0xc0,0x00]
rclq $0, -64(%rdx,%rax,4)
// CHECK: rclq $0, 64(%rdx,%rax)
// CHECK: encoding: [0x48,0xc1,0x54,0x02,0x40,0x00]
rclq $0, 64(%rdx,%rax)
// CHECK: rclq $0, (%rdx)
// CHECK: encoding: [0x48,0xc1,0x12,0x00]
rclq $0, (%rdx)
// CHECK: rclw $0, 485498096
// CHECK: encoding: [0x66,0xc1,0x14,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
rclw $0, 485498096
// CHECK: rclw $0, 64(%rdx)
// CHECK: encoding: [0x66,0xc1,0x52,0x40,0x00]
rclw $0, 64(%rdx)
// CHECK: rclw $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0x66,0xc1,0x54,0x82,0x40,0x00]
rclw $0, 64(%rdx,%rax,4)
// CHECK: rclw $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0x66,0xc1,0x54,0x82,0xc0,0x00]
rclw $0, -64(%rdx,%rax,4)
// CHECK: rclw $0, 64(%rdx,%rax)
// CHECK: encoding: [0x66,0xc1,0x54,0x02,0x40,0x00]
rclw $0, 64(%rdx,%rax)
// CHECK: rclw $0, %r14w
// CHECK: encoding: [0x66,0x41,0xc1,0xd6,0x00]
rclw $0, %r14w
// CHECK: rclw $0, (%rdx)
// CHECK: encoding: [0x66,0xc1,0x12,0x00]
rclw $0, (%rdx)
// CHECK: rcrb $0, 485498096
// CHECK: encoding: [0xc0,0x1c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
rcrb $0, 485498096
// CHECK: rcrb $0, 64(%rdx)
// CHECK: encoding: [0xc0,0x5a,0x40,0x00]
rcrb $0, 64(%rdx)
// CHECK: rcrb $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0xc0,0x5c,0x82,0x40,0x00]
rcrb $0, 64(%rdx,%rax,4)
// CHECK: rcrb $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0xc0,0x5c,0x82,0xc0,0x00]
rcrb $0, -64(%rdx,%rax,4)
// CHECK: rcrb $0, 64(%rdx,%rax)
// CHECK: encoding: [0xc0,0x5c,0x02,0x40,0x00]
rcrb $0, 64(%rdx,%rax)
// CHECK: rcrb $0, %r14b
// CHECK: encoding: [0x41,0xc0,0xde,0x00]
rcrb $0, %r14b
// CHECK: rcrb $0, (%rdx)
// CHECK: encoding: [0xc0,0x1a,0x00]
rcrb $0, (%rdx)
// CHECK: rcrl $0, 485498096
// CHECK: encoding: [0xc1,0x1c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
rcrl $0, 485498096
// CHECK: rcrl $0, 64(%rdx)
// CHECK: encoding: [0xc1,0x5a,0x40,0x00]
rcrl $0, 64(%rdx)
// CHECK: rcrl $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0xc1,0x5c,0x82,0x40,0x00]
rcrl $0, 64(%rdx,%rax,4)
// CHECK: rcrl $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0xc1,0x5c,0x82,0xc0,0x00]
rcrl $0, -64(%rdx,%rax,4)
// CHECK: rcrl $0, 64(%rdx,%rax)
// CHECK: encoding: [0xc1,0x5c,0x02,0x40,0x00]
rcrl $0, 64(%rdx,%rax)
// CHECK: rcrl $0, %r13d
// CHECK: encoding: [0x41,0xc1,0xdd,0x00]
rcrl $0, %r13d
// CHECK: rcrl $0, (%rdx)
// CHECK: encoding: [0xc1,0x1a,0x00]
rcrl $0, (%rdx)
// CHECK: rcrq $0, 485498096
// CHECK: encoding: [0x48,0xc1,0x1c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
rcrq $0, 485498096
// CHECK: rcrq $0, 64(%rdx)
// CHECK: encoding: [0x48,0xc1,0x5a,0x40,0x00]
rcrq $0, 64(%rdx)
// CHECK: rcrq $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0x48,0xc1,0x5c,0x82,0x40,0x00]
rcrq $0, 64(%rdx,%rax,4)
// CHECK: rcrq $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0x48,0xc1,0x5c,0x82,0xc0,0x00]
rcrq $0, -64(%rdx,%rax,4)
// CHECK: rcrq $0, 64(%rdx,%rax)
// CHECK: encoding: [0x48,0xc1,0x5c,0x02,0x40,0x00]
rcrq $0, 64(%rdx,%rax)
// CHECK: rcrq $0, (%rdx)
// CHECK: encoding: [0x48,0xc1,0x1a,0x00]
rcrq $0, (%rdx)
// CHECK: rcrw $0, 485498096
// CHECK: encoding: [0x66,0xc1,0x1c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
rcrw $0, 485498096
// CHECK: rcrw $0, 64(%rdx)
// CHECK: encoding: [0x66,0xc1,0x5a,0x40,0x00]
rcrw $0, 64(%rdx)
// CHECK: rcrw $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0x66,0xc1,0x5c,0x82,0x40,0x00]
rcrw $0, 64(%rdx,%rax,4)
// CHECK: rcrw $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0x66,0xc1,0x5c,0x82,0xc0,0x00]
rcrw $0, -64(%rdx,%rax,4)
// CHECK: rcrw $0, 64(%rdx,%rax)
// CHECK: encoding: [0x66,0xc1,0x5c,0x02,0x40,0x00]
rcrw $0, 64(%rdx,%rax)
// CHECK: rcrw $0, %r14w
// CHECK: encoding: [0x66,0x41,0xc1,0xde,0x00]
rcrw $0, %r14w
// CHECK: rcrw $0, (%rdx)
// CHECK: encoding: [0x66,0xc1,0x1a,0x00]
rcrw $0, (%rdx)
// CHECK: rep insb %dx, %es:(%rdi)
// CHECK: encoding: [0xf3,0x6c]
rep insb %dx, %es:(%rdi)
// CHECK: rep insl %dx, %es:(%rdi)
// CHECK: encoding: [0xf3,0x6d]
rep insl %dx, %es:(%rdi)
// CHECK: rep insw %dx, %es:(%rdi)
// CHECK: encoding: [0xf3,0x66,0x6d]
rep insw %dx, %es:(%rdi)
// CHECK: repne insb %dx, %es:(%rdi)
// CHECK: encoding: [0xf2,0x6c]
repne insb %dx, %es:(%rdi)
// CHECK: repne insl %dx, %es:(%rdi)
// CHECK: encoding: [0xf2,0x6d]
repne insl %dx, %es:(%rdi)
// CHECK: repne insw %dx, %es:(%rdi)
// CHECK: encoding: [0xf2,0x66,0x6d]
repne insw %dx, %es:(%rdi)
// CHECK: repne outsb %gs:(%rsi), %dx
// CHECK: encoding: [0xf2,0x65,0x6e]
repne outsb %gs:(%rsi), %dx
// CHECK: repne outsl %gs:(%rsi), %dx
// CHECK: encoding: [0xf2,0x65,0x6f]
repne outsl %gs:(%rsi), %dx
// CHECK: repne outsw %gs:(%rsi), %dx
// CHECK: encoding: [0xf2,0x66,0x65,0x6f]
repne outsw %gs:(%rsi), %dx
// CHECK: rep outsb %gs:(%rsi), %dx
// CHECK: encoding: [0xf3,0x65,0x6e]
rep outsb %gs:(%rsi), %dx
// CHECK: rep outsl %gs:(%rsi), %dx
// CHECK: encoding: [0xf3,0x65,0x6f]
rep outsl %gs:(%rsi), %dx
// CHECK: rep outsw %gs:(%rsi), %dx
// CHECK: encoding: [0xf3,0x66,0x65,0x6f]
rep outsw %gs:(%rsi), %dx
// CHECK: rolb $0, 485498096
// CHECK: encoding: [0xc0,0x04,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
rolb $0, 485498096
// CHECK: rolb $0, 64(%rdx)
// CHECK: encoding: [0xc0,0x42,0x40,0x00]
rolb $0, 64(%rdx)
// CHECK: rolb $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0xc0,0x44,0x82,0x40,0x00]
rolb $0, 64(%rdx,%rax,4)
// CHECK: rolb $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0xc0,0x44,0x82,0xc0,0x00]
rolb $0, -64(%rdx,%rax,4)
// CHECK: rolb $0, 64(%rdx,%rax)
// CHECK: encoding: [0xc0,0x44,0x02,0x40,0x00]
rolb $0, 64(%rdx,%rax)
// CHECK: rolb $0, %r14b
// CHECK: encoding: [0x41,0xc0,0xc6,0x00]
rolb $0, %r14b
// CHECK: rolb $0, (%rdx)
// CHECK: encoding: [0xc0,0x02,0x00]
rolb $0, (%rdx)
// CHECK: roll $0, 485498096
// CHECK: encoding: [0xc1,0x04,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
roll $0, 485498096
// CHECK: roll $0, 64(%rdx)
// CHECK: encoding: [0xc1,0x42,0x40,0x00]
roll $0, 64(%rdx)
// CHECK: roll $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0xc1,0x44,0x82,0x40,0x00]
roll $0, 64(%rdx,%rax,4)
// CHECK: roll $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0xc1,0x44,0x82,0xc0,0x00]
roll $0, -64(%rdx,%rax,4)
// CHECK: roll $0, 64(%rdx,%rax)
// CHECK: encoding: [0xc1,0x44,0x02,0x40,0x00]
roll $0, 64(%rdx,%rax)
// CHECK: roll $0, %r13d
// CHECK: encoding: [0x41,0xc1,0xc5,0x00]
roll $0, %r13d
// CHECK: roll $0, (%rdx)
// CHECK: encoding: [0xc1,0x02,0x00]
roll $0, (%rdx)
// CHECK: rolq $0, 485498096
// CHECK: encoding: [0x48,0xc1,0x04,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
rolq $0, 485498096
// CHECK: rolq $0, 64(%rdx)
// CHECK: encoding: [0x48,0xc1,0x42,0x40,0x00]
rolq $0, 64(%rdx)
// CHECK: rolq $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0x48,0xc1,0x44,0x82,0x40,0x00]
rolq $0, 64(%rdx,%rax,4)
// CHECK: rolq $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0x48,0xc1,0x44,0x82,0xc0,0x00]
rolq $0, -64(%rdx,%rax,4)
// CHECK: rolq $0, 64(%rdx,%rax)
// CHECK: encoding: [0x48,0xc1,0x44,0x02,0x40,0x00]
rolq $0, 64(%rdx,%rax)
// CHECK: rolq $0, (%rdx)
// CHECK: encoding: [0x48,0xc1,0x02,0x00]
rolq $0, (%rdx)
// CHECK: rolw $0, 485498096
// CHECK: encoding: [0x66,0xc1,0x04,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
rolw $0, 485498096
// CHECK: rolw $0, 64(%rdx)
// CHECK: encoding: [0x66,0xc1,0x42,0x40,0x00]
rolw $0, 64(%rdx)
// CHECK: rolw $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0x66,0xc1,0x44,0x82,0x40,0x00]
rolw $0, 64(%rdx,%rax,4)
// CHECK: rolw $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0x66,0xc1,0x44,0x82,0xc0,0x00]
rolw $0, -64(%rdx,%rax,4)
// CHECK: rolw $0, 64(%rdx,%rax)
// CHECK: encoding: [0x66,0xc1,0x44,0x02,0x40,0x00]
rolw $0, 64(%rdx,%rax)
// CHECK: rolw $0, %r14w
// CHECK: encoding: [0x66,0x41,0xc1,0xc6,0x00]
rolw $0, %r14w
// CHECK: rolw $0, (%rdx)
// CHECK: encoding: [0x66,0xc1,0x02,0x00]
rolw $0, (%rdx)
// CHECK: rorb $0, 485498096
// CHECK: encoding: [0xc0,0x0c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
rorb $0, 485498096
// CHECK: rorb $0, 64(%rdx)
// CHECK: encoding: [0xc0,0x4a,0x40,0x00]
rorb $0, 64(%rdx)
// CHECK: rorb $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0xc0,0x4c,0x82,0x40,0x00]
rorb $0, 64(%rdx,%rax,4)
// CHECK: rorb $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0xc0,0x4c,0x82,0xc0,0x00]
rorb $0, -64(%rdx,%rax,4)
// CHECK: rorb $0, 64(%rdx,%rax)
// CHECK: encoding: [0xc0,0x4c,0x02,0x40,0x00]
rorb $0, 64(%rdx,%rax)
// CHECK: rorb $0, %r14b
// CHECK: encoding: [0x41,0xc0,0xce,0x00]
rorb $0, %r14b
// CHECK: rorb $0, (%rdx)
// CHECK: encoding: [0xc0,0x0a,0x00]
rorb $0, (%rdx)
// CHECK: rorl $0, 485498096
// CHECK: encoding: [0xc1,0x0c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
rorl $0, 485498096
// CHECK: rorl $0, 64(%rdx)
// CHECK: encoding: [0xc1,0x4a,0x40,0x00]
rorl $0, 64(%rdx)
// CHECK: rorl $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0xc1,0x4c,0x82,0x40,0x00]
rorl $0, 64(%rdx,%rax,4)
// CHECK: rorl $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0xc1,0x4c,0x82,0xc0,0x00]
rorl $0, -64(%rdx,%rax,4)
// CHECK: rorl $0, 64(%rdx,%rax)
// CHECK: encoding: [0xc1,0x4c,0x02,0x40,0x00]
rorl $0, 64(%rdx,%rax)
// CHECK: rorl $0, %r13d
// CHECK: encoding: [0x41,0xc1,0xcd,0x00]
rorl $0, %r13d
// CHECK: rorl $0, (%rdx)
// CHECK: encoding: [0xc1,0x0a,0x00]
rorl $0, (%rdx)
// CHECK: rorq $0, 485498096
// CHECK: encoding: [0x48,0xc1,0x0c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
rorq $0, 485498096
// CHECK: rorq $0, 64(%rdx)
// CHECK: encoding: [0x48,0xc1,0x4a,0x40,0x00]
rorq $0, 64(%rdx)
// CHECK: rorq $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0x48,0xc1,0x4c,0x82,0x40,0x00]
rorq $0, 64(%rdx,%rax,4)
// CHECK: rorq $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0x48,0xc1,0x4c,0x82,0xc0,0x00]
rorq $0, -64(%rdx,%rax,4)
// CHECK: rorq $0, 64(%rdx,%rax)
// CHECK: encoding: [0x48,0xc1,0x4c,0x02,0x40,0x00]
rorq $0, 64(%rdx,%rax)
// CHECK: rorq $0, (%rdx)
// CHECK: encoding: [0x48,0xc1,0x0a,0x00]
rorq $0, (%rdx)
// CHECK: rorw $0, 485498096
// CHECK: encoding: [0x66,0xc1,0x0c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
rorw $0, 485498096
// CHECK: rorw $0, 64(%rdx)
// CHECK: encoding: [0x66,0xc1,0x4a,0x40,0x00]
rorw $0, 64(%rdx)
// CHECK: rorw $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0x66,0xc1,0x4c,0x82,0x40,0x00]
rorw $0, 64(%rdx,%rax,4)
// CHECK: rorw $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0x66,0xc1,0x4c,0x82,0xc0,0x00]
rorw $0, -64(%rdx,%rax,4)
// CHECK: rorw $0, 64(%rdx,%rax)
// CHECK: encoding: [0x66,0xc1,0x4c,0x02,0x40,0x00]
rorw $0, 64(%rdx,%rax)
// CHECK: rorw $0, %r14w
// CHECK: encoding: [0x66,0x41,0xc1,0xce,0x00]
rorw $0, %r14w
// CHECK: rorw $0, (%rdx)
// CHECK: encoding: [0x66,0xc1,0x0a,0x00]
rorw $0, (%rdx)
// CHECK: sarb $0, 485498096
// CHECK: encoding: [0xc0,0x3c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
sarb $0, 485498096
// CHECK: sarb $0, 64(%rdx)
// CHECK: encoding: [0xc0,0x7a,0x40,0x00]
sarb $0, 64(%rdx)
// CHECK: sarb $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0xc0,0x7c,0x82,0x40,0x00]
sarb $0, 64(%rdx,%rax,4)
// CHECK: sarb $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0xc0,0x7c,0x82,0xc0,0x00]
sarb $0, -64(%rdx,%rax,4)
// CHECK: sarb $0, 64(%rdx,%rax)
// CHECK: encoding: [0xc0,0x7c,0x02,0x40,0x00]
sarb $0, 64(%rdx,%rax)
// CHECK: sarb $0, %r14b
// CHECK: encoding: [0x41,0xc0,0xfe,0x00]
sarb $0, %r14b
// CHECK: sarb $0, (%rdx)
// CHECK: encoding: [0xc0,0x3a,0x00]
sarb $0, (%rdx)
// CHECK: sarl $0, 485498096
// CHECK: encoding: [0xc1,0x3c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
sarl $0, 485498096
// CHECK: sarl $0, 64(%rdx)
// CHECK: encoding: [0xc1,0x7a,0x40,0x00]
sarl $0, 64(%rdx)
// CHECK: sarl $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0xc1,0x7c,0x82,0x40,0x00]
sarl $0, 64(%rdx,%rax,4)
// CHECK: sarl $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0xc1,0x7c,0x82,0xc0,0x00]
sarl $0, -64(%rdx,%rax,4)
// CHECK: sarl $0, 64(%rdx,%rax)
// CHECK: encoding: [0xc1,0x7c,0x02,0x40,0x00]
sarl $0, 64(%rdx,%rax)
// CHECK: sarl $0, %r13d
// CHECK: encoding: [0x41,0xc1,0xfd,0x00]
sarl $0, %r13d
// CHECK: sarl $0, (%rdx)
// CHECK: encoding: [0xc1,0x3a,0x00]
sarl $0, (%rdx)
// CHECK: sarq $0, 485498096
// CHECK: encoding: [0x48,0xc1,0x3c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
sarq $0, 485498096
// CHECK: sarq $0, 64(%rdx)
// CHECK: encoding: [0x48,0xc1,0x7a,0x40,0x00]
sarq $0, 64(%rdx)
// CHECK: sarq $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0x48,0xc1,0x7c,0x82,0x40,0x00]
sarq $0, 64(%rdx,%rax,4)
// CHECK: sarq $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0x48,0xc1,0x7c,0x82,0xc0,0x00]
sarq $0, -64(%rdx,%rax,4)
// CHECK: sarq $0, 64(%rdx,%rax)
// CHECK: encoding: [0x48,0xc1,0x7c,0x02,0x40,0x00]
sarq $0, 64(%rdx,%rax)
// CHECK: sarq $0, (%rdx)
// CHECK: encoding: [0x48,0xc1,0x3a,0x00]
sarq $0, (%rdx)
// CHECK: sarw $0, 485498096
// CHECK: encoding: [0x66,0xc1,0x3c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
sarw $0, 485498096
// CHECK: sarw $0, 64(%rdx)
// CHECK: encoding: [0x66,0xc1,0x7a,0x40,0x00]
sarw $0, 64(%rdx)
// CHECK: sarw $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0x66,0xc1,0x7c,0x82,0x40,0x00]
sarw $0, 64(%rdx,%rax,4)
// CHECK: sarw $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0x66,0xc1,0x7c,0x82,0xc0,0x00]
sarw $0, -64(%rdx,%rax,4)
// CHECK: sarw $0, 64(%rdx,%rax)
// CHECK: encoding: [0x66,0xc1,0x7c,0x02,0x40,0x00]
sarw $0, 64(%rdx,%rax)
// CHECK: sarw $0, %r14w
// CHECK: encoding: [0x66,0x41,0xc1,0xfe,0x00]
sarw $0, %r14w
// CHECK: sarw $0, (%rdx)
// CHECK: encoding: [0x66,0xc1,0x3a,0x00]
sarw $0, (%rdx)
// CHECK: shlb $0, 485498096
// CHECK: encoding: [0xc0,0x24,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
shlb $0, 485498096
// CHECK: shlb $0, 64(%rdx)
// CHECK: encoding: [0xc0,0x62,0x40,0x00]
shlb $0, 64(%rdx)
// CHECK: shlb $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0xc0,0x64,0x82,0x40,0x00]
shlb $0, 64(%rdx,%rax,4)
// CHECK: shlb $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0xc0,0x64,0x82,0xc0,0x00]
shlb $0, -64(%rdx,%rax,4)
// CHECK: shlb $0, 64(%rdx,%rax)
// CHECK: encoding: [0xc0,0x64,0x02,0x40,0x00]
shlb $0, 64(%rdx,%rax)
// CHECK: shlb $0, %r14b
// CHECK: encoding: [0x41,0xc0,0xe6,0x00]
shlb $0, %r14b
// CHECK: shlb $0, (%rdx)
// CHECK: encoding: [0xc0,0x22,0x00]
shlb $0, (%rdx)
// CHECK: shll $0, 485498096
// CHECK: encoding: [0xc1,0x24,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
shll $0, 485498096
// CHECK: shll $0, 64(%rdx)
// CHECK: encoding: [0xc1,0x62,0x40,0x00]
shll $0, 64(%rdx)
// CHECK: shll $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0xc1,0x64,0x82,0x40,0x00]
shll $0, 64(%rdx,%rax,4)
// CHECK: shll $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0xc1,0x64,0x82,0xc0,0x00]
shll $0, -64(%rdx,%rax,4)
// CHECK: shll $0, 64(%rdx,%rax)
// CHECK: encoding: [0xc1,0x64,0x02,0x40,0x00]
shll $0, 64(%rdx,%rax)
// CHECK: shll $0, %r13d
// CHECK: encoding: [0x41,0xc1,0xe5,0x00]
shll $0, %r13d
// CHECK: shll $0, (%rdx)
// CHECK: encoding: [0xc1,0x22,0x00]
shll $0, (%rdx)
// CHECK: shlq $0, 485498096
// CHECK: encoding: [0x48,0xc1,0x24,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
shlq $0, 485498096
// CHECK: shlq $0, 64(%rdx)
// CHECK: encoding: [0x48,0xc1,0x62,0x40,0x00]
shlq $0, 64(%rdx)
// CHECK: shlq $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0x48,0xc1,0x64,0x82,0x40,0x00]
shlq $0, 64(%rdx,%rax,4)
// CHECK: shlq $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0x48,0xc1,0x64,0x82,0xc0,0x00]
shlq $0, -64(%rdx,%rax,4)
// CHECK: shlq $0, 64(%rdx,%rax)
// CHECK: encoding: [0x48,0xc1,0x64,0x02,0x40,0x00]
shlq $0, 64(%rdx,%rax)
// CHECK: shlq $0, (%rdx)
// CHECK: encoding: [0x48,0xc1,0x22,0x00]
shlq $0, (%rdx)
// CHECK: shlw $0, 485498096
// CHECK: encoding: [0x66,0xc1,0x24,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
shlw $0, 485498096
// CHECK: shlw $0, 64(%rdx)
// CHECK: encoding: [0x66,0xc1,0x62,0x40,0x00]
shlw $0, 64(%rdx)
// CHECK: shlw $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0x66,0xc1,0x64,0x82,0x40,0x00]
shlw $0, 64(%rdx,%rax,4)
// CHECK: shlw $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0x66,0xc1,0x64,0x82,0xc0,0x00]
shlw $0, -64(%rdx,%rax,4)
// CHECK: shlw $0, 64(%rdx,%rax)
// CHECK: encoding: [0x66,0xc1,0x64,0x02,0x40,0x00]
shlw $0, 64(%rdx,%rax)
// CHECK: shlw $0, %r14w
// CHECK: encoding: [0x66,0x41,0xc1,0xe6,0x00]
shlw $0, %r14w
// CHECK: shlw $0, (%rdx)
// CHECK: encoding: [0x66,0xc1,0x22,0x00]
shlw $0, (%rdx)
// CHECK: shrb $0, 485498096
// CHECK: encoding: [0xc0,0x2c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
shrb $0, 485498096
// CHECK: shrb $0, 64(%rdx)
// CHECK: encoding: [0xc0,0x6a,0x40,0x00]
shrb $0, 64(%rdx)
// CHECK: shrb $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0xc0,0x6c,0x82,0x40,0x00]
shrb $0, 64(%rdx,%rax,4)
// CHECK: shrb $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0xc0,0x6c,0x82,0xc0,0x00]
shrb $0, -64(%rdx,%rax,4)
// CHECK: shrb $0, 64(%rdx,%rax)
// CHECK: encoding: [0xc0,0x6c,0x02,0x40,0x00]
shrb $0, 64(%rdx,%rax)
// CHECK: shrb $0, %r14b
// CHECK: encoding: [0x41,0xc0,0xee,0x00]
shrb $0, %r14b
// CHECK: shrb $0, (%rdx)
// CHECK: encoding: [0xc0,0x2a,0x00]
shrb $0, (%rdx)
// CHECK: shrl $0, 485498096
// CHECK: encoding: [0xc1,0x2c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
shrl $0, 485498096
// CHECK: shrl $0, 64(%rdx)
// CHECK: encoding: [0xc1,0x6a,0x40,0x00]
shrl $0, 64(%rdx)
// CHECK: shrl $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0xc1,0x6c,0x82,0x40,0x00]
shrl $0, 64(%rdx,%rax,4)
// CHECK: shrl $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0xc1,0x6c,0x82,0xc0,0x00]
shrl $0, -64(%rdx,%rax,4)
// CHECK: shrl $0, 64(%rdx,%rax)
// CHECK: encoding: [0xc1,0x6c,0x02,0x40,0x00]
shrl $0, 64(%rdx,%rax)
// CHECK: shrl $0, %r13d
// CHECK: encoding: [0x41,0xc1,0xed,0x00]
shrl $0, %r13d
// CHECK: shrl $0, (%rdx)
// CHECK: encoding: [0xc1,0x2a,0x00]
shrl $0, (%rdx)
// CHECK: shrq $0, 485498096
// CHECK: encoding: [0x48,0xc1,0x2c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
shrq $0, 485498096
// CHECK: shrq $0, 64(%rdx)
// CHECK: encoding: [0x48,0xc1,0x6a,0x40,0x00]
shrq $0, 64(%rdx)
// CHECK: shrq $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0x48,0xc1,0x6c,0x82,0x40,0x00]
shrq $0, 64(%rdx,%rax,4)
// CHECK: shrq $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0x48,0xc1,0x6c,0x82,0xc0,0x00]
shrq $0, -64(%rdx,%rax,4)
// CHECK: shrq $0, 64(%rdx,%rax)
// CHECK: encoding: [0x48,0xc1,0x6c,0x02,0x40,0x00]
shrq $0, 64(%rdx,%rax)
// CHECK: shrq $0, (%rdx)
// CHECK: encoding: [0x48,0xc1,0x2a,0x00]
shrq $0, (%rdx)
// CHECK: shrw $0, 485498096
// CHECK: encoding: [0x66,0xc1,0x2c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
shrw $0, 485498096
// CHECK: shrw $0, 64(%rdx)
// CHECK: encoding: [0x66,0xc1,0x6a,0x40,0x00]
shrw $0, 64(%rdx)
// CHECK: shrw $0, 64(%rdx,%rax,4)
// CHECK: encoding: [0x66,0xc1,0x6c,0x82,0x40,0x00]
shrw $0, 64(%rdx,%rax,4)
// CHECK: shrw $0, -64(%rdx,%rax,4)
// CHECK: encoding: [0x66,0xc1,0x6c,0x82,0xc0,0x00]
shrw $0, -64(%rdx,%rax,4)
// CHECK: shrw $0, 64(%rdx,%rax)
// CHECK: encoding: [0x66,0xc1,0x6c,0x02,0x40,0x00]
shrw $0, 64(%rdx,%rax)
// CHECK: shrw $0, %r14w
// CHECK: encoding: [0x66,0x41,0xc1,0xee,0x00]
shrw $0, %r14w
// CHECK: shrw $0, (%rdx)
// CHECK: encoding: [0x66,0xc1,0x2a,0x00]
shrw $0, (%rdx)