[llvm] r320557 - [X86][BMI]: Adding full coverage of MC encoding for the BMI isa set.<NFC>

Gadi Haber via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 13 01:13:53 PST 2017


Author: gadi.haber
Date: Wed Dec 13 01:13:53 2017
New Revision: 320557

URL: http://llvm.org/viewvc/llvm-project?rev=320557&view=rev
Log:
[X86][BMI]: Adding full coverage of MC encoding for the BMI isa set.<NFC>

NFC.
Adding MC regressions tests to cover the BMI1 and BMI2 ISA sets both 32 and 64 bit.
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, craig.topper, m_zuckerman, RKSimon
Differential Revision: https://reviews.llvm.org/D41106

Change-Id: I033ce137b5b82d36e1e601cd5e0534637b43a4a9

Added:
    llvm/trunk/test/MC/X86/BMI1-32.s
    llvm/trunk/test/MC/X86/BMI1-64.s
    llvm/trunk/test/MC/X86/BMI2-32.s
    llvm/trunk/test/MC/X86/BMI2-64.s

Added: llvm/trunk/test/MC/X86/BMI1-32.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/BMI1-32.s?rev=320557&view=auto
==============================================================================
--- llvm/trunk/test/MC/X86/BMI1-32.s (added)
+++ llvm/trunk/test/MC/X86/BMI1-32.s Wed Dec 13 01:13:53 2017
@@ -0,0 +1,142 @@
+// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s
+
+// CHECK: andnl -485498096(%edx,%eax,4), %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf2,0x94,0x82,0x10,0xe3,0x0f,0xe3]      
+andnl -485498096(%edx,%eax,4), %edx, %edx 
+
+// CHECK: andnl 485498096(%edx,%eax,4), %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf2,0x94,0x82,0xf0,0x1c,0xf0,0x1c]      
+andnl 485498096(%edx,%eax,4), %edx, %edx 
+
+// CHECK: andnl 485498096(%edx), %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf2,0x92,0xf0,0x1c,0xf0,0x1c]      
+andnl 485498096(%edx), %edx, %edx 
+
+// CHECK: andnl 485498096, %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf2,0x15,0xf0,0x1c,0xf0,0x1c]      
+andnl 485498096, %edx, %edx 
+
+// CHECK: andnl 64(%edx,%eax), %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf2,0x54,0x02,0x40]      
+andnl 64(%edx,%eax), %edx, %edx 
+
+// CHECK: andnl (%edx), %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf2,0x12]      
+andnl (%edx), %edx, %edx 
+
+// CHECK: andnl %edx, %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf2,0xd2]      
+andnl %edx, %edx, %edx 
+
+// CHECK: bextrl %edx, -485498096(%edx,%eax,4), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf7,0x94,0x82,0x10,0xe3,0x0f,0xe3]      
+bextrl %edx, -485498096(%edx,%eax,4), %edx 
+
+// CHECK: bextrl %edx, 485498096(%edx,%eax,4), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf7,0x94,0x82,0xf0,0x1c,0xf0,0x1c]      
+bextrl %edx, 485498096(%edx,%eax,4), %edx 
+
+// CHECK: bextrl %edx, 485498096(%edx), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf7,0x92,0xf0,0x1c,0xf0,0x1c]      
+bextrl %edx, 485498096(%edx), %edx 
+
+// CHECK: bextrl %edx, 485498096, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf7,0x15,0xf0,0x1c,0xf0,0x1c]      
+bextrl %edx, 485498096, %edx 
+
+// CHECK: bextrl %edx, 64(%edx,%eax), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf7,0x54,0x02,0x40]      
+bextrl %edx, 64(%edx,%eax), %edx 
+
+// CHECK: bextrl %edx, (%edx), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf7,0x12]      
+bextrl %edx, (%edx), %edx 
+
+// CHECK: bextrl %edx, %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf7,0xd2]      
+bextrl %edx, %edx, %edx 
+
+// CHECK: blsil -485498096(%edx,%eax,4), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0x9c,0x82,0x10,0xe3,0x0f,0xe3]       
+blsil -485498096(%edx,%eax,4), %edx 
+
+// CHECK: blsil 485498096(%edx,%eax,4), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0x9c,0x82,0xf0,0x1c,0xf0,0x1c]       
+blsil 485498096(%edx,%eax,4), %edx 
+
+// CHECK: blsil 485498096(%edx), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0x9a,0xf0,0x1c,0xf0,0x1c]       
+blsil 485498096(%edx), %edx 
+
+// CHECK: blsil 485498096, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0x1d,0xf0,0x1c,0xf0,0x1c]       
+blsil 485498096, %edx 
+
+// CHECK: blsil 64(%edx,%eax), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0x5c,0x02,0x40]       
+blsil 64(%edx,%eax), %edx 
+
+// CHECK: blsil (%edx), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0x1a]       
+blsil (%edx), %edx 
+
+// CHECK: blsil %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0xda]       
+blsil %edx, %edx 
+
+// CHECK: blsmskl -485498096(%edx,%eax,4), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0x94,0x82,0x10,0xe3,0x0f,0xe3]       
+blsmskl -485498096(%edx,%eax,4), %edx 
+
+// CHECK: blsmskl 485498096(%edx,%eax,4), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0x94,0x82,0xf0,0x1c,0xf0,0x1c]       
+blsmskl 485498096(%edx,%eax,4), %edx 
+
+// CHECK: blsmskl 485498096(%edx), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0x92,0xf0,0x1c,0xf0,0x1c]       
+blsmskl 485498096(%edx), %edx 
+
+// CHECK: blsmskl 485498096, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0x15,0xf0,0x1c,0xf0,0x1c]       
+blsmskl 485498096, %edx 
+
+// CHECK: blsmskl 64(%edx,%eax), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0x54,0x02,0x40]       
+blsmskl 64(%edx,%eax), %edx 
+
+// CHECK: blsmskl (%edx), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0x12]       
+blsmskl (%edx), %edx 
+
+// CHECK: blsmskl %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0xd2]       
+blsmskl %edx, %edx 
+
+// CHECK: blsrl -485498096(%edx,%eax,4), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0x8c,0x82,0x10,0xe3,0x0f,0xe3]       
+blsrl -485498096(%edx,%eax,4), %edx 
+
+// CHECK: blsrl 485498096(%edx,%eax,4), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0x8c,0x82,0xf0,0x1c,0xf0,0x1c]       
+blsrl 485498096(%edx,%eax,4), %edx 
+
+// CHECK: blsrl 485498096(%edx), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0x8a,0xf0,0x1c,0xf0,0x1c]       
+blsrl 485498096(%edx), %edx 
+
+// CHECK: blsrl 485498096, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0x0d,0xf0,0x1c,0xf0,0x1c]       
+blsrl 485498096, %edx 
+
+// CHECK: blsrl 64(%edx,%eax), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0x4c,0x02,0x40]       
+blsrl 64(%edx,%eax), %edx 
+
+// CHECK: blsrl (%edx), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0x0a]       
+blsrl (%edx), %edx 
+
+// CHECK: blsrl %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf3,0xca]       
+blsrl %edx, %edx 
+

Added: llvm/trunk/test/MC/X86/BMI1-64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/BMI1-64.s?rev=320557&view=auto
==============================================================================
--- llvm/trunk/test/MC/X86/BMI1-64.s (added)
+++ llvm/trunk/test/MC/X86/BMI1-64.s Wed Dec 13 01:13:53 2017
@@ -0,0 +1,286 @@
+// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
+
+// CHECK: andnl 485498096, %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x10,0xf2,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]      
+andnl 485498096, %r13d, %r13d 
+
+// CHECK: andnl 64(%rdx), %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x10,0xf2,0x6a,0x40]      
+andnl 64(%rdx), %r13d, %r13d 
+
+// CHECK: andnl 64(%rdx,%rax,4), %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x10,0xf2,0x6c,0x82,0x40]      
+andnl 64(%rdx,%rax,4), %r13d, %r13d 
+
+// CHECK: andnl -64(%rdx,%rax,4), %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x10,0xf2,0x6c,0x82,0xc0]      
+andnl -64(%rdx,%rax,4), %r13d, %r13d 
+
+// CHECK: andnl 64(%rdx,%rax), %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x10,0xf2,0x6c,0x02,0x40]      
+andnl 64(%rdx,%rax), %r13d, %r13d 
+
+// CHECK: andnl %r13d, %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x42,0x10,0xf2,0xed]      
+andnl %r13d, %r13d, %r13d 
+
+// CHECK: andnl (%rdx), %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x10,0xf2,0x2a]      
+andnl (%rdx), %r13d, %r13d 
+
+// CHECK: andnq 485498096, %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x80,0xf2,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]      
+andnq 485498096, %r15, %r15 
+
+// CHECK: andnq 64(%rdx), %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x80,0xf2,0x7a,0x40]      
+andnq 64(%rdx), %r15, %r15 
+
+// CHECK: andnq 64(%rdx,%rax,4), %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x80,0xf2,0x7c,0x82,0x40]      
+andnq 64(%rdx,%rax,4), %r15, %r15 
+
+// CHECK: andnq -64(%rdx,%rax,4), %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x80,0xf2,0x7c,0x82,0xc0]      
+andnq -64(%rdx,%rax,4), %r15, %r15 
+
+// CHECK: andnq 64(%rdx,%rax), %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x80,0xf2,0x7c,0x02,0x40]      
+andnq 64(%rdx,%rax), %r15, %r15 
+
+// CHECK: andnq %r15, %r15, %r15 
+// CHECK: encoding: [0xc4,0x42,0x80,0xf2,0xff]      
+andnq %r15, %r15, %r15 
+
+// CHECK: andnq (%rdx), %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x80,0xf2,0x3a]      
+andnq (%rdx), %r15, %r15 
+
+// CHECK: bextrl %r13d, 485498096, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x10,0xf7,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]      
+bextrl %r13d, 485498096, %r13d 
+
+// CHECK: bextrl %r13d, 64(%rdx), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x10,0xf7,0x6a,0x40]      
+bextrl %r13d, 64(%rdx), %r13d 
+
+// CHECK: bextrl %r13d, 64(%rdx,%rax,4), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x10,0xf7,0x6c,0x82,0x40]      
+bextrl %r13d, 64(%rdx,%rax,4), %r13d 
+
+// CHECK: bextrl %r13d, -64(%rdx,%rax,4), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x10,0xf7,0x6c,0x82,0xc0]      
+bextrl %r13d, -64(%rdx,%rax,4), %r13d 
+
+// CHECK: bextrl %r13d, 64(%rdx,%rax), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x10,0xf7,0x6c,0x02,0x40]      
+bextrl %r13d, 64(%rdx,%rax), %r13d 
+
+// CHECK: bextrl %r13d, %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x42,0x10,0xf7,0xed]      
+bextrl %r13d, %r13d, %r13d 
+
+// CHECK: bextrl %r13d, (%rdx), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x10,0xf7,0x2a]      
+bextrl %r13d, (%rdx), %r13d 
+
+// CHECK: bextrq %r15, 485498096, %r15 
+// CHECK: encoding: [0xc4,0x62,0x80,0xf7,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]      
+bextrq %r15, 485498096, %r15 
+
+// CHECK: bextrq %r15, 64(%rdx), %r15 
+// CHECK: encoding: [0xc4,0x62,0x80,0xf7,0x7a,0x40]      
+bextrq %r15, 64(%rdx), %r15 
+
+// CHECK: bextrq %r15, 64(%rdx,%rax,4), %r15 
+// CHECK: encoding: [0xc4,0x62,0x80,0xf7,0x7c,0x82,0x40]      
+bextrq %r15, 64(%rdx,%rax,4), %r15 
+
+// CHECK: bextrq %r15, -64(%rdx,%rax,4), %r15 
+// CHECK: encoding: [0xc4,0x62,0x80,0xf7,0x7c,0x82,0xc0]      
+bextrq %r15, -64(%rdx,%rax,4), %r15 
+
+// CHECK: bextrq %r15, 64(%rdx,%rax), %r15 
+// CHECK: encoding: [0xc4,0x62,0x80,0xf7,0x7c,0x02,0x40]      
+bextrq %r15, 64(%rdx,%rax), %r15 
+
+// CHECK: bextrq %r15, %r15, %r15 
+// CHECK: encoding: [0xc4,0x42,0x80,0xf7,0xff]      
+bextrq %r15, %r15, %r15 
+
+// CHECK: bextrq %r15, (%rdx), %r15 
+// CHECK: encoding: [0xc4,0x62,0x80,0xf7,0x3a]      
+bextrq %r15, (%rdx), %r15 
+
+// CHECK: blsil 485498096, %r13d 
+// CHECK: encoding: [0xc4,0xe2,0x10,0xf3,0x1c,0x25,0xf0,0x1c,0xf0,0x1c]       
+blsil 485498096, %r13d 
+
+// CHECK: blsil 64(%rdx), %r13d 
+// CHECK: encoding: [0xc4,0xe2,0x10,0xf3,0x5a,0x40]       
+blsil 64(%rdx), %r13d 
+
+// CHECK: blsil 64(%rdx,%rax,4), %r13d 
+// CHECK: encoding: [0xc4,0xe2,0x10,0xf3,0x5c,0x82,0x40]       
+blsil 64(%rdx,%rax,4), %r13d 
+
+// CHECK: blsil -64(%rdx,%rax,4), %r13d 
+// CHECK: encoding: [0xc4,0xe2,0x10,0xf3,0x5c,0x82,0xc0]       
+blsil -64(%rdx,%rax,4), %r13d 
+
+// CHECK: blsil 64(%rdx,%rax), %r13d 
+// CHECK: encoding: [0xc4,0xe2,0x10,0xf3,0x5c,0x02,0x40]       
+blsil 64(%rdx,%rax), %r13d 
+
+// CHECK: blsil %r13d, %r13d 
+// CHECK: encoding: [0xc4,0xc2,0x10,0xf3,0xdd]       
+blsil %r13d, %r13d 
+
+// CHECK: blsil (%rdx), %r13d 
+// CHECK: encoding: [0xc4,0xe2,0x10,0xf3,0x1a]       
+blsil (%rdx), %r13d 
+
+// CHECK: blsiq 485498096, %r15 
+// CHECK: encoding: [0xc4,0xe2,0x80,0xf3,0x1c,0x25,0xf0,0x1c,0xf0,0x1c]       
+blsiq 485498096, %r15 
+
+// CHECK: blsiq 64(%rdx), %r15 
+// CHECK: encoding: [0xc4,0xe2,0x80,0xf3,0x5a,0x40]       
+blsiq 64(%rdx), %r15 
+
+// CHECK: blsiq 64(%rdx,%rax,4), %r15 
+// CHECK: encoding: [0xc4,0xe2,0x80,0xf3,0x5c,0x82,0x40]       
+blsiq 64(%rdx,%rax,4), %r15 
+
+// CHECK: blsiq -64(%rdx,%rax,4), %r15 
+// CHECK: encoding: [0xc4,0xe2,0x80,0xf3,0x5c,0x82,0xc0]       
+blsiq -64(%rdx,%rax,4), %r15 
+
+// CHECK: blsiq 64(%rdx,%rax), %r15 
+// CHECK: encoding: [0xc4,0xe2,0x80,0xf3,0x5c,0x02,0x40]       
+blsiq 64(%rdx,%rax), %r15 
+
+// CHECK: blsiq %r15, %r15 
+// CHECK: encoding: [0xc4,0xc2,0x80,0xf3,0xdf]       
+blsiq %r15, %r15 
+
+// CHECK: blsiq (%rdx), %r15 
+// CHECK: encoding: [0xc4,0xe2,0x80,0xf3,0x1a]       
+blsiq (%rdx), %r15 
+
+// CHECK: blsmskl 485498096, %r13d 
+// CHECK: encoding: [0xc4,0xe2,0x10,0xf3,0x14,0x25,0xf0,0x1c,0xf0,0x1c]       
+blsmskl 485498096, %r13d 
+
+// CHECK: blsmskl 64(%rdx), %r13d 
+// CHECK: encoding: [0xc4,0xe2,0x10,0xf3,0x52,0x40]       
+blsmskl 64(%rdx), %r13d 
+
+// CHECK: blsmskl 64(%rdx,%rax,4), %r13d 
+// CHECK: encoding: [0xc4,0xe2,0x10,0xf3,0x54,0x82,0x40]       
+blsmskl 64(%rdx,%rax,4), %r13d 
+
+// CHECK: blsmskl -64(%rdx,%rax,4), %r13d 
+// CHECK: encoding: [0xc4,0xe2,0x10,0xf3,0x54,0x82,0xc0]       
+blsmskl -64(%rdx,%rax,4), %r13d 
+
+// CHECK: blsmskl 64(%rdx,%rax), %r13d 
+// CHECK: encoding: [0xc4,0xe2,0x10,0xf3,0x54,0x02,0x40]       
+blsmskl 64(%rdx,%rax), %r13d 
+
+// CHECK: blsmskl %r13d, %r13d 
+// CHECK: encoding: [0xc4,0xc2,0x10,0xf3,0xd5]       
+blsmskl %r13d, %r13d 
+
+// CHECK: blsmskl (%rdx), %r13d 
+// CHECK: encoding: [0xc4,0xe2,0x10,0xf3,0x12]       
+blsmskl (%rdx), %r13d 
+
+// CHECK: blsmskq 485498096, %r15 
+// CHECK: encoding: [0xc4,0xe2,0x80,0xf3,0x14,0x25,0xf0,0x1c,0xf0,0x1c]       
+blsmskq 485498096, %r15 
+
+// CHECK: blsmskq 64(%rdx), %r15 
+// CHECK: encoding: [0xc4,0xe2,0x80,0xf3,0x52,0x40]       
+blsmskq 64(%rdx), %r15 
+
+// CHECK: blsmskq 64(%rdx,%rax,4), %r15 
+// CHECK: encoding: [0xc4,0xe2,0x80,0xf3,0x54,0x82,0x40]       
+blsmskq 64(%rdx,%rax,4), %r15 
+
+// CHECK: blsmskq -64(%rdx,%rax,4), %r15 
+// CHECK: encoding: [0xc4,0xe2,0x80,0xf3,0x54,0x82,0xc0]       
+blsmskq -64(%rdx,%rax,4), %r15 
+
+// CHECK: blsmskq 64(%rdx,%rax), %r15 
+// CHECK: encoding: [0xc4,0xe2,0x80,0xf3,0x54,0x02,0x40]       
+blsmskq 64(%rdx,%rax), %r15 
+
+// CHECK: blsmskq %r15, %r15 
+// CHECK: encoding: [0xc4,0xc2,0x80,0xf3,0xd7]       
+blsmskq %r15, %r15 
+
+// CHECK: blsmskq (%rdx), %r15 
+// CHECK: encoding: [0xc4,0xe2,0x80,0xf3,0x12]       
+blsmskq (%rdx), %r15 
+
+// CHECK: blsrl 485498096, %r13d 
+// CHECK: encoding: [0xc4,0xe2,0x10,0xf3,0x0c,0x25,0xf0,0x1c,0xf0,0x1c]       
+blsrl 485498096, %r13d 
+
+// CHECK: blsrl 64(%rdx), %r13d 
+// CHECK: encoding: [0xc4,0xe2,0x10,0xf3,0x4a,0x40]       
+blsrl 64(%rdx), %r13d 
+
+// CHECK: blsrl 64(%rdx,%rax,4), %r13d 
+// CHECK: encoding: [0xc4,0xe2,0x10,0xf3,0x4c,0x82,0x40]       
+blsrl 64(%rdx,%rax,4), %r13d 
+
+// CHECK: blsrl -64(%rdx,%rax,4), %r13d 
+// CHECK: encoding: [0xc4,0xe2,0x10,0xf3,0x4c,0x82,0xc0]       
+blsrl -64(%rdx,%rax,4), %r13d 
+
+// CHECK: blsrl 64(%rdx,%rax), %r13d 
+// CHECK: encoding: [0xc4,0xe2,0x10,0xf3,0x4c,0x02,0x40]       
+blsrl 64(%rdx,%rax), %r13d 
+
+// CHECK: blsrl %r13d, %r13d 
+// CHECK: encoding: [0xc4,0xc2,0x10,0xf3,0xcd]       
+blsrl %r13d, %r13d 
+
+// CHECK: blsrl (%rdx), %r13d 
+// CHECK: encoding: [0xc4,0xe2,0x10,0xf3,0x0a]       
+blsrl (%rdx), %r13d 
+
+// CHECK: blsrq 485498096, %r15 
+// CHECK: encoding: [0xc4,0xe2,0x80,0xf3,0x0c,0x25,0xf0,0x1c,0xf0,0x1c]       
+blsrq 485498096, %r15 
+
+// CHECK: blsrq 64(%rdx), %r15 
+// CHECK: encoding: [0xc4,0xe2,0x80,0xf3,0x4a,0x40]       
+blsrq 64(%rdx), %r15 
+
+// CHECK: blsrq 64(%rdx,%rax,4), %r15 
+// CHECK: encoding: [0xc4,0xe2,0x80,0xf3,0x4c,0x82,0x40]       
+blsrq 64(%rdx,%rax,4), %r15 
+
+// CHECK: blsrq -64(%rdx,%rax,4), %r15 
+// CHECK: encoding: [0xc4,0xe2,0x80,0xf3,0x4c,0x82,0xc0]       
+blsrq -64(%rdx,%rax,4), %r15 
+
+// CHECK: blsrq 64(%rdx,%rax), %r15 
+// CHECK: encoding: [0xc4,0xe2,0x80,0xf3,0x4c,0x02,0x40]       
+blsrq 64(%rdx,%rax), %r15 
+
+// CHECK: blsrq %r15, %r15 
+// CHECK: encoding: [0xc4,0xc2,0x80,0xf3,0xcf]       
+blsrq %r15, %r15 
+
+// CHECK: blsrq (%rdx), %r15 
+// CHECK: encoding: [0xc4,0xe2,0x80,0xf3,0x0a]       
+blsrq (%rdx), %r15 
+
+// CHECK: tzcntl %r13d, %r13d 
+// CHECK: encoding: [0xf3,0x45,0x0f,0xbc,0xed]       
+tzcntl %r13d, %r13d 
+

Added: llvm/trunk/test/MC/X86/BMI2-32.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/BMI2-32.s?rev=320557&view=auto
==============================================================================
--- llvm/trunk/test/MC/X86/BMI2-32.s (added)
+++ llvm/trunk/test/MC/X86/BMI2-32.s Wed Dec 13 01:13:53 2017
@@ -0,0 +1,226 @@
+// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s
+
+// CHECK: bzhil %edx, -485498096(%edx,%eax,4), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf5,0x94,0x82,0x10,0xe3,0x0f,0xe3]      
+bzhil %edx, -485498096(%edx,%eax,4), %edx 
+
+// CHECK: bzhil %edx, 485498096(%edx,%eax,4), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf5,0x94,0x82,0xf0,0x1c,0xf0,0x1c]      
+bzhil %edx, 485498096(%edx,%eax,4), %edx 
+
+// CHECK: bzhil %edx, 485498096(%edx), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf5,0x92,0xf0,0x1c,0xf0,0x1c]      
+bzhil %edx, 485498096(%edx), %edx 
+
+// CHECK: bzhil %edx, 485498096, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf5,0x15,0xf0,0x1c,0xf0,0x1c]      
+bzhil %edx, 485498096, %edx 
+
+// CHECK: bzhil %edx, 64(%edx,%eax), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf5,0x54,0x02,0x40]      
+bzhil %edx, 64(%edx,%eax), %edx 
+
+// CHECK: bzhil %edx, (%edx), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf5,0x12]      
+bzhil %edx, (%edx), %edx 
+
+// CHECK: bzhil %edx, %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x68,0xf5,0xd2]      
+bzhil %edx, %edx, %edx 
+
+// CHECK: mulxl -485498096(%edx,%eax,4), %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf6,0x94,0x82,0x10,0xe3,0x0f,0xe3]      
+mulxl -485498096(%edx,%eax,4), %edx, %edx 
+
+// CHECK: mulxl 485498096(%edx,%eax,4), %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf6,0x94,0x82,0xf0,0x1c,0xf0,0x1c]      
+mulxl 485498096(%edx,%eax,4), %edx, %edx 
+
+// CHECK: mulxl 485498096(%edx), %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf6,0x92,0xf0,0x1c,0xf0,0x1c]      
+mulxl 485498096(%edx), %edx, %edx 
+
+// CHECK: mulxl 485498096, %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf6,0x15,0xf0,0x1c,0xf0,0x1c]      
+mulxl 485498096, %edx, %edx 
+
+// CHECK: mulxl 64(%edx,%eax), %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf6,0x54,0x02,0x40]      
+mulxl 64(%edx,%eax), %edx, %edx 
+
+// CHECK: mulxl (%edx), %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf6,0x12]      
+mulxl (%edx), %edx, %edx 
+
+// CHECK: mulxl %edx, %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf6,0xd2]      
+mulxl %edx, %edx, %edx 
+
+// CHECK: pdepl -485498096(%edx,%eax,4), %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf5,0x94,0x82,0x10,0xe3,0x0f,0xe3]      
+pdepl -485498096(%edx,%eax,4), %edx, %edx 
+
+// CHECK: pdepl 485498096(%edx,%eax,4), %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf5,0x94,0x82,0xf0,0x1c,0xf0,0x1c]      
+pdepl 485498096(%edx,%eax,4), %edx, %edx 
+
+// CHECK: pdepl 485498096(%edx), %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf5,0x92,0xf0,0x1c,0xf0,0x1c]      
+pdepl 485498096(%edx), %edx, %edx 
+
+// CHECK: pdepl 485498096, %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf5,0x15,0xf0,0x1c,0xf0,0x1c]      
+pdepl 485498096, %edx, %edx 
+
+// CHECK: pdepl 64(%edx,%eax), %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf5,0x54,0x02,0x40]      
+pdepl 64(%edx,%eax), %edx, %edx 
+
+// CHECK: pdepl (%edx), %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf5,0x12]      
+pdepl (%edx), %edx, %edx 
+
+// CHECK: pdepl %edx, %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf5,0xd2]      
+pdepl %edx, %edx, %edx 
+
+// CHECK: pextl -485498096(%edx,%eax,4), %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6a,0xf5,0x94,0x82,0x10,0xe3,0x0f,0xe3]      
+pextl -485498096(%edx,%eax,4), %edx, %edx 
+
+// CHECK: pextl 485498096(%edx,%eax,4), %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6a,0xf5,0x94,0x82,0xf0,0x1c,0xf0,0x1c]      
+pextl 485498096(%edx,%eax,4), %edx, %edx 
+
+// CHECK: pextl 485498096(%edx), %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6a,0xf5,0x92,0xf0,0x1c,0xf0,0x1c]      
+pextl 485498096(%edx), %edx, %edx 
+
+// CHECK: pextl 485498096, %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6a,0xf5,0x15,0xf0,0x1c,0xf0,0x1c]      
+pextl 485498096, %edx, %edx 
+
+// CHECK: pextl 64(%edx,%eax), %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6a,0xf5,0x54,0x02,0x40]      
+pextl 64(%edx,%eax), %edx, %edx 
+
+// CHECK: pextl (%edx), %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6a,0xf5,0x12]      
+pextl (%edx), %edx, %edx 
+
+// CHECK: pextl %edx, %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6a,0xf5,0xd2]      
+pextl %edx, %edx, %edx 
+
+// CHECK: rorxl $0, -485498096(%edx,%eax,4), %edx 
+// CHECK: encoding: [0xc4,0xe3,0x7b,0xf0,0x94,0x82,0x10,0xe3,0x0f,0xe3,0x00]      
+rorxl $0, -485498096(%edx,%eax,4), %edx 
+
+// CHECK: rorxl $0, 485498096(%edx,%eax,4), %edx 
+// CHECK: encoding: [0xc4,0xe3,0x7b,0xf0,0x94,0x82,0xf0,0x1c,0xf0,0x1c,0x00]      
+rorxl $0, 485498096(%edx,%eax,4), %edx 
+
+// CHECK: rorxl $0, 485498096(%edx), %edx 
+// CHECK: encoding: [0xc4,0xe3,0x7b,0xf0,0x92,0xf0,0x1c,0xf0,0x1c,0x00]      
+rorxl $0, 485498096(%edx), %edx 
+
+// CHECK: rorxl $0, 485498096, %edx 
+// CHECK: encoding: [0xc4,0xe3,0x7b,0xf0,0x15,0xf0,0x1c,0xf0,0x1c,0x00]      
+rorxl $0, 485498096, %edx 
+
+// CHECK: rorxl $0, 64(%edx,%eax), %edx 
+// CHECK: encoding: [0xc4,0xe3,0x7b,0xf0,0x54,0x02,0x40,0x00]      
+rorxl $0, 64(%edx,%eax), %edx 
+
+// CHECK: rorxl $0, (%edx), %edx 
+// CHECK: encoding: [0xc4,0xe3,0x7b,0xf0,0x12,0x00]      
+rorxl $0, (%edx), %edx 
+
+// CHECK: rorxl $0, %edx, %edx 
+// CHECK: encoding: [0xc4,0xe3,0x7b,0xf0,0xd2,0x00]      
+rorxl $0, %edx, %edx 
+
+// CHECK: sarxl %edx, -485498096(%edx,%eax,4), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6a,0xf7,0x94,0x82,0x10,0xe3,0x0f,0xe3]      
+sarxl %edx, -485498096(%edx,%eax,4), %edx 
+
+// CHECK: sarxl %edx, 485498096(%edx,%eax,4), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6a,0xf7,0x94,0x82,0xf0,0x1c,0xf0,0x1c]      
+sarxl %edx, 485498096(%edx,%eax,4), %edx 
+
+// CHECK: sarxl %edx, 485498096(%edx), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6a,0xf7,0x92,0xf0,0x1c,0xf0,0x1c]      
+sarxl %edx, 485498096(%edx), %edx 
+
+// CHECK: sarxl %edx, 485498096, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6a,0xf7,0x15,0xf0,0x1c,0xf0,0x1c]      
+sarxl %edx, 485498096, %edx 
+
+// CHECK: sarxl %edx, 64(%edx,%eax), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6a,0xf7,0x54,0x02,0x40]      
+sarxl %edx, 64(%edx,%eax), %edx 
+
+// CHECK: sarxl %edx, (%edx), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6a,0xf7,0x12]      
+sarxl %edx, (%edx), %edx 
+
+// CHECK: sarxl %edx, %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6a,0xf7,0xd2]      
+sarxl %edx, %edx, %edx 
+
+// CHECK: shlxl %edx, -485498096(%edx,%eax,4), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x69,0xf7,0x94,0x82,0x10,0xe3,0x0f,0xe3]      
+shlxl %edx, -485498096(%edx,%eax,4), %edx 
+
+// CHECK: shlxl %edx, 485498096(%edx,%eax,4), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x69,0xf7,0x94,0x82,0xf0,0x1c,0xf0,0x1c]      
+shlxl %edx, 485498096(%edx,%eax,4), %edx 
+
+// CHECK: shlxl %edx, 485498096(%edx), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x69,0xf7,0x92,0xf0,0x1c,0xf0,0x1c]      
+shlxl %edx, 485498096(%edx), %edx 
+
+// CHECK: shlxl %edx, 485498096, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x69,0xf7,0x15,0xf0,0x1c,0xf0,0x1c]      
+shlxl %edx, 485498096, %edx 
+
+// CHECK: shlxl %edx, 64(%edx,%eax), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x69,0xf7,0x54,0x02,0x40]      
+shlxl %edx, 64(%edx,%eax), %edx 
+
+// CHECK: shlxl %edx, (%edx), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x69,0xf7,0x12]      
+shlxl %edx, (%edx), %edx 
+
+// CHECK: shlxl %edx, %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x69,0xf7,0xd2]      
+shlxl %edx, %edx, %edx 
+
+// CHECK: shrxl %edx, -485498096(%edx,%eax,4), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf7,0x94,0x82,0x10,0xe3,0x0f,0xe3]      
+shrxl %edx, -485498096(%edx,%eax,4), %edx 
+
+// CHECK: shrxl %edx, 485498096(%edx,%eax,4), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf7,0x94,0x82,0xf0,0x1c,0xf0,0x1c]      
+shrxl %edx, 485498096(%edx,%eax,4), %edx 
+
+// CHECK: shrxl %edx, 485498096(%edx), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf7,0x92,0xf0,0x1c,0xf0,0x1c]      
+shrxl %edx, 485498096(%edx), %edx 
+
+// CHECK: shrxl %edx, 485498096, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf7,0x15,0xf0,0x1c,0xf0,0x1c]      
+shrxl %edx, 485498096, %edx 
+
+// CHECK: shrxl %edx, 64(%edx,%eax), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf7,0x54,0x02,0x40]      
+shrxl %edx, 64(%edx,%eax), %edx 
+
+// CHECK: shrxl %edx, (%edx), %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf7,0x12]      
+shrxl %edx, (%edx), %edx 
+
+// CHECK: shrxl %edx, %edx, %edx 
+// CHECK: encoding: [0xc4,0xe2,0x6b,0xf7,0xd2]      
+shrxl %edx, %edx, %edx 
+

Added: llvm/trunk/test/MC/X86/BMI2-64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/BMI2-64.s?rev=320557&view=auto
==============================================================================
--- llvm/trunk/test/MC/X86/BMI2-64.s (added)
+++ llvm/trunk/test/MC/X86/BMI2-64.s Wed Dec 13 01:13:53 2017
@@ -0,0 +1,450 @@
+// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
+
+// CHECK: bzhil %r13d, 485498096, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x10,0xf5,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]      
+bzhil %r13d, 485498096, %r13d 
+
+// CHECK: bzhil %r13d, 64(%rdx), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x10,0xf5,0x6a,0x40]      
+bzhil %r13d, 64(%rdx), %r13d 
+
+// CHECK: bzhil %r13d, 64(%rdx,%rax,4), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x10,0xf5,0x6c,0x82,0x40]      
+bzhil %r13d, 64(%rdx,%rax,4), %r13d 
+
+// CHECK: bzhil %r13d, -64(%rdx,%rax,4), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x10,0xf5,0x6c,0x82,0xc0]      
+bzhil %r13d, -64(%rdx,%rax,4), %r13d 
+
+// CHECK: bzhil %r13d, 64(%rdx,%rax), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x10,0xf5,0x6c,0x02,0x40]      
+bzhil %r13d, 64(%rdx,%rax), %r13d 
+
+// CHECK: bzhil %r13d, %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x42,0x10,0xf5,0xed]      
+bzhil %r13d, %r13d, %r13d 
+
+// CHECK: bzhil %r13d, (%rdx), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x10,0xf5,0x2a]      
+bzhil %r13d, (%rdx), %r13d 
+
+// CHECK: bzhiq %r15, 485498096, %r15 
+// CHECK: encoding: [0xc4,0x62,0x80,0xf5,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]      
+bzhiq %r15, 485498096, %r15 
+
+// CHECK: bzhiq %r15, 64(%rdx), %r15 
+// CHECK: encoding: [0xc4,0x62,0x80,0xf5,0x7a,0x40]      
+bzhiq %r15, 64(%rdx), %r15 
+
+// CHECK: bzhiq %r15, 64(%rdx,%rax,4), %r15 
+// CHECK: encoding: [0xc4,0x62,0x80,0xf5,0x7c,0x82,0x40]      
+bzhiq %r15, 64(%rdx,%rax,4), %r15 
+
+// CHECK: bzhiq %r15, -64(%rdx,%rax,4), %r15 
+// CHECK: encoding: [0xc4,0x62,0x80,0xf5,0x7c,0x82,0xc0]      
+bzhiq %r15, -64(%rdx,%rax,4), %r15 
+
+// CHECK: bzhiq %r15, 64(%rdx,%rax), %r15 
+// CHECK: encoding: [0xc4,0x62,0x80,0xf5,0x7c,0x02,0x40]      
+bzhiq %r15, 64(%rdx,%rax), %r15 
+
+// CHECK: bzhiq %r15, %r15, %r15 
+// CHECK: encoding: [0xc4,0x42,0x80,0xf5,0xff]      
+bzhiq %r15, %r15, %r15 
+
+// CHECK: bzhiq %r15, (%rdx), %r15 
+// CHECK: encoding: [0xc4,0x62,0x80,0xf5,0x3a]      
+bzhiq %r15, (%rdx), %r15 
+
+// CHECK: mulxl 485498096, %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x13,0xf6,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]      
+mulxl 485498096, %r13d, %r13d 
+
+// CHECK: mulxl 64(%rdx), %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x13,0xf6,0x6a,0x40]      
+mulxl 64(%rdx), %r13d, %r13d 
+
+// CHECK: mulxl 64(%rdx,%rax,4), %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x13,0xf6,0x6c,0x82,0x40]      
+mulxl 64(%rdx,%rax,4), %r13d, %r13d 
+
+// CHECK: mulxl -64(%rdx,%rax,4), %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x13,0xf6,0x6c,0x82,0xc0]      
+mulxl -64(%rdx,%rax,4), %r13d, %r13d 
+
+// CHECK: mulxl 64(%rdx,%rax), %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x13,0xf6,0x6c,0x02,0x40]      
+mulxl 64(%rdx,%rax), %r13d, %r13d 
+
+// CHECK: mulxl %r13d, %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x42,0x13,0xf6,0xed]      
+mulxl %r13d, %r13d, %r13d 
+
+// CHECK: mulxl (%rdx), %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x13,0xf6,0x2a]      
+mulxl (%rdx), %r13d, %r13d 
+
+// CHECK: mulxq 485498096, %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x83,0xf6,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]      
+mulxq 485498096, %r15, %r15 
+
+// CHECK: mulxq 64(%rdx), %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x83,0xf6,0x7a,0x40]      
+mulxq 64(%rdx), %r15, %r15 
+
+// CHECK: mulxq 64(%rdx,%rax,4), %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x83,0xf6,0x7c,0x82,0x40]      
+mulxq 64(%rdx,%rax,4), %r15, %r15 
+
+// CHECK: mulxq -64(%rdx,%rax,4), %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x83,0xf6,0x7c,0x82,0xc0]      
+mulxq -64(%rdx,%rax,4), %r15, %r15 
+
+// CHECK: mulxq 64(%rdx,%rax), %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x83,0xf6,0x7c,0x02,0x40]      
+mulxq 64(%rdx,%rax), %r15, %r15 
+
+// CHECK: mulxq %r15, %r15, %r15 
+// CHECK: encoding: [0xc4,0x42,0x83,0xf6,0xff]      
+mulxq %r15, %r15, %r15 
+
+// CHECK: mulxq (%rdx), %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x83,0xf6,0x3a]      
+mulxq (%rdx), %r15, %r15 
+
+// CHECK: pdepl 485498096, %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x13,0xf5,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]      
+pdepl 485498096, %r13d, %r13d 
+
+// CHECK: pdepl 64(%rdx), %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x13,0xf5,0x6a,0x40]      
+pdepl 64(%rdx), %r13d, %r13d 
+
+// CHECK: pdepl 64(%rdx,%rax,4), %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x13,0xf5,0x6c,0x82,0x40]      
+pdepl 64(%rdx,%rax,4), %r13d, %r13d 
+
+// CHECK: pdepl -64(%rdx,%rax,4), %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x13,0xf5,0x6c,0x82,0xc0]      
+pdepl -64(%rdx,%rax,4), %r13d, %r13d 
+
+// CHECK: pdepl 64(%rdx,%rax), %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x13,0xf5,0x6c,0x02,0x40]      
+pdepl 64(%rdx,%rax), %r13d, %r13d 
+
+// CHECK: pdepl %r13d, %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x42,0x13,0xf5,0xed]      
+pdepl %r13d, %r13d, %r13d 
+
+// CHECK: pdepl (%rdx), %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x13,0xf5,0x2a]      
+pdepl (%rdx), %r13d, %r13d 
+
+// CHECK: pdepq 485498096, %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x83,0xf5,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]      
+pdepq 485498096, %r15, %r15 
+
+// CHECK: pdepq 64(%rdx), %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x83,0xf5,0x7a,0x40]      
+pdepq 64(%rdx), %r15, %r15 
+
+// CHECK: pdepq 64(%rdx,%rax,4), %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x83,0xf5,0x7c,0x82,0x40]      
+pdepq 64(%rdx,%rax,4), %r15, %r15 
+
+// CHECK: pdepq -64(%rdx,%rax,4), %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x83,0xf5,0x7c,0x82,0xc0]      
+pdepq -64(%rdx,%rax,4), %r15, %r15 
+
+// CHECK: pdepq 64(%rdx,%rax), %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x83,0xf5,0x7c,0x02,0x40]      
+pdepq 64(%rdx,%rax), %r15, %r15 
+
+// CHECK: pdepq %r15, %r15, %r15 
+// CHECK: encoding: [0xc4,0x42,0x83,0xf5,0xff]      
+pdepq %r15, %r15, %r15 
+
+// CHECK: pdepq (%rdx), %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x83,0xf5,0x3a]      
+pdepq (%rdx), %r15, %r15 
+
+// CHECK: pextl 485498096, %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x12,0xf5,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]      
+pextl 485498096, %r13d, %r13d 
+
+// CHECK: pextl 64(%rdx), %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x12,0xf5,0x6a,0x40]      
+pextl 64(%rdx), %r13d, %r13d 
+
+// CHECK: pextl 64(%rdx,%rax,4), %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x12,0xf5,0x6c,0x82,0x40]      
+pextl 64(%rdx,%rax,4), %r13d, %r13d 
+
+// CHECK: pextl -64(%rdx,%rax,4), %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x12,0xf5,0x6c,0x82,0xc0]      
+pextl -64(%rdx,%rax,4), %r13d, %r13d 
+
+// CHECK: pextl 64(%rdx,%rax), %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x12,0xf5,0x6c,0x02,0x40]      
+pextl 64(%rdx,%rax), %r13d, %r13d 
+
+// CHECK: pextl %r13d, %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x42,0x12,0xf5,0xed]      
+pextl %r13d, %r13d, %r13d 
+
+// CHECK: pextl (%rdx), %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x12,0xf5,0x2a]      
+pextl (%rdx), %r13d, %r13d 
+
+// CHECK: pextq 485498096, %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x82,0xf5,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]      
+pextq 485498096, %r15, %r15 
+
+// CHECK: pextq 64(%rdx), %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x82,0xf5,0x7a,0x40]      
+pextq 64(%rdx), %r15, %r15 
+
+// CHECK: pextq 64(%rdx,%rax,4), %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x82,0xf5,0x7c,0x82,0x40]      
+pextq 64(%rdx,%rax,4), %r15, %r15 
+
+// CHECK: pextq -64(%rdx,%rax,4), %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x82,0xf5,0x7c,0x82,0xc0]      
+pextq -64(%rdx,%rax,4), %r15, %r15 
+
+// CHECK: pextq 64(%rdx,%rax), %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x82,0xf5,0x7c,0x02,0x40]      
+pextq 64(%rdx,%rax), %r15, %r15 
+
+// CHECK: pextq %r15, %r15, %r15 
+// CHECK: encoding: [0xc4,0x42,0x82,0xf5,0xff]      
+pextq %r15, %r15, %r15 
+
+// CHECK: pextq (%rdx), %r15, %r15 
+// CHECK: encoding: [0xc4,0x62,0x82,0xf5,0x3a]      
+pextq (%rdx), %r15, %r15 
+
+// CHECK: rorxl $0, 485498096, %r13d 
+// CHECK: encoding: [0xc4,0x63,0x7b,0xf0,0x2c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]      
+rorxl $0, 485498096, %r13d 
+
+// CHECK: rorxl $0, 64(%rdx), %r13d 
+// CHECK: encoding: [0xc4,0x63,0x7b,0xf0,0x6a,0x40,0x00]      
+rorxl $0, 64(%rdx), %r13d 
+
+// CHECK: rorxl $0, 64(%rdx,%rax,4), %r13d 
+// CHECK: encoding: [0xc4,0x63,0x7b,0xf0,0x6c,0x82,0x40,0x00]      
+rorxl $0, 64(%rdx,%rax,4), %r13d 
+
+// CHECK: rorxl $0, -64(%rdx,%rax,4), %r13d 
+// CHECK: encoding: [0xc4,0x63,0x7b,0xf0,0x6c,0x82,0xc0,0x00]      
+rorxl $0, -64(%rdx,%rax,4), %r13d 
+
+// CHECK: rorxl $0, 64(%rdx,%rax), %r13d 
+// CHECK: encoding: [0xc4,0x63,0x7b,0xf0,0x6c,0x02,0x40,0x00]      
+rorxl $0, 64(%rdx,%rax), %r13d 
+
+// CHECK: rorxl $0, %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x43,0x7b,0xf0,0xed,0x00]      
+rorxl $0, %r13d, %r13d 
+
+// CHECK: rorxl $0, (%rdx), %r13d 
+// CHECK: encoding: [0xc4,0x63,0x7b,0xf0,0x2a,0x00]      
+rorxl $0, (%rdx), %r13d 
+
+// CHECK: rorxq $0, 485498096, %r15 
+// CHECK: encoding: [0xc4,0x63,0xfb,0xf0,0x3c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]      
+rorxq $0, 485498096, %r15 
+
+// CHECK: rorxq $0, 64(%rdx), %r15 
+// CHECK: encoding: [0xc4,0x63,0xfb,0xf0,0x7a,0x40,0x00]      
+rorxq $0, 64(%rdx), %r15 
+
+// CHECK: rorxq $0, 64(%rdx,%rax,4), %r15 
+// CHECK: encoding: [0xc4,0x63,0xfb,0xf0,0x7c,0x82,0x40,0x00]      
+rorxq $0, 64(%rdx,%rax,4), %r15 
+
+// CHECK: rorxq $0, -64(%rdx,%rax,4), %r15 
+// CHECK: encoding: [0xc4,0x63,0xfb,0xf0,0x7c,0x82,0xc0,0x00]      
+rorxq $0, -64(%rdx,%rax,4), %r15 
+
+// CHECK: rorxq $0, 64(%rdx,%rax), %r15 
+// CHECK: encoding: [0xc4,0x63,0xfb,0xf0,0x7c,0x02,0x40,0x00]      
+rorxq $0, 64(%rdx,%rax), %r15 
+
+// CHECK: rorxq $0, %r15, %r15 
+// CHECK: encoding: [0xc4,0x43,0xfb,0xf0,0xff,0x00]      
+rorxq $0, %r15, %r15 
+
+// CHECK: rorxq $0, (%rdx), %r15 
+// CHECK: encoding: [0xc4,0x63,0xfb,0xf0,0x3a,0x00]      
+rorxq $0, (%rdx), %r15 
+
+// CHECK: sarxl %r13d, 485498096, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x12,0xf7,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]      
+sarxl %r13d, 485498096, %r13d 
+
+// CHECK: sarxl %r13d, 64(%rdx), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x12,0xf7,0x6a,0x40]      
+sarxl %r13d, 64(%rdx), %r13d 
+
+// CHECK: sarxl %r13d, 64(%rdx,%rax,4), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x12,0xf7,0x6c,0x82,0x40]      
+sarxl %r13d, 64(%rdx,%rax,4), %r13d 
+
+// CHECK: sarxl %r13d, -64(%rdx,%rax,4), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x12,0xf7,0x6c,0x82,0xc0]      
+sarxl %r13d, -64(%rdx,%rax,4), %r13d 
+
+// CHECK: sarxl %r13d, 64(%rdx,%rax), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x12,0xf7,0x6c,0x02,0x40]      
+sarxl %r13d, 64(%rdx,%rax), %r13d 
+
+// CHECK: sarxl %r13d, %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x42,0x12,0xf7,0xed]      
+sarxl %r13d, %r13d, %r13d 
+
+// CHECK: sarxl %r13d, (%rdx), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x12,0xf7,0x2a]      
+sarxl %r13d, (%rdx), %r13d 
+
+// CHECK: sarxq %r15, 485498096, %r15 
+// CHECK: encoding: [0xc4,0x62,0x82,0xf7,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]      
+sarxq %r15, 485498096, %r15 
+
+// CHECK: sarxq %r15, 64(%rdx), %r15 
+// CHECK: encoding: [0xc4,0x62,0x82,0xf7,0x7a,0x40]      
+sarxq %r15, 64(%rdx), %r15 
+
+// CHECK: sarxq %r15, 64(%rdx,%rax,4), %r15 
+// CHECK: encoding: [0xc4,0x62,0x82,0xf7,0x7c,0x82,0x40]      
+sarxq %r15, 64(%rdx,%rax,4), %r15 
+
+// CHECK: sarxq %r15, -64(%rdx,%rax,4), %r15 
+// CHECK: encoding: [0xc4,0x62,0x82,0xf7,0x7c,0x82,0xc0]      
+sarxq %r15, -64(%rdx,%rax,4), %r15 
+
+// CHECK: sarxq %r15, 64(%rdx,%rax), %r15 
+// CHECK: encoding: [0xc4,0x62,0x82,0xf7,0x7c,0x02,0x40]      
+sarxq %r15, 64(%rdx,%rax), %r15 
+
+// CHECK: sarxq %r15, %r15, %r15 
+// CHECK: encoding: [0xc4,0x42,0x82,0xf7,0xff]      
+sarxq %r15, %r15, %r15 
+
+// CHECK: sarxq %r15, (%rdx), %r15 
+// CHECK: encoding: [0xc4,0x62,0x82,0xf7,0x3a]      
+sarxq %r15, (%rdx), %r15 
+
+// CHECK: shlxl %r13d, 485498096, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x11,0xf7,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]      
+shlxl %r13d, 485498096, %r13d 
+
+// CHECK: shlxl %r13d, 64(%rdx), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x11,0xf7,0x6a,0x40]      
+shlxl %r13d, 64(%rdx), %r13d 
+
+// CHECK: shlxl %r13d, 64(%rdx,%rax,4), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x11,0xf7,0x6c,0x82,0x40]      
+shlxl %r13d, 64(%rdx,%rax,4), %r13d 
+
+// CHECK: shlxl %r13d, -64(%rdx,%rax,4), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x11,0xf7,0x6c,0x82,0xc0]      
+shlxl %r13d, -64(%rdx,%rax,4), %r13d 
+
+// CHECK: shlxl %r13d, 64(%rdx,%rax), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x11,0xf7,0x6c,0x02,0x40]      
+shlxl %r13d, 64(%rdx,%rax), %r13d 
+
+// CHECK: shlxl %r13d, %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x42,0x11,0xf7,0xed]      
+shlxl %r13d, %r13d, %r13d 
+
+// CHECK: shlxl %r13d, (%rdx), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x11,0xf7,0x2a]      
+shlxl %r13d, (%rdx), %r13d 
+
+// CHECK: shlxq %r15, 485498096, %r15 
+// CHECK: encoding: [0xc4,0x62,0x81,0xf7,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]      
+shlxq %r15, 485498096, %r15 
+
+// CHECK: shlxq %r15, 64(%rdx), %r15 
+// CHECK: encoding: [0xc4,0x62,0x81,0xf7,0x7a,0x40]      
+shlxq %r15, 64(%rdx), %r15 
+
+// CHECK: shlxq %r15, 64(%rdx,%rax,4), %r15 
+// CHECK: encoding: [0xc4,0x62,0x81,0xf7,0x7c,0x82,0x40]      
+shlxq %r15, 64(%rdx,%rax,4), %r15 
+
+// CHECK: shlxq %r15, -64(%rdx,%rax,4), %r15 
+// CHECK: encoding: [0xc4,0x62,0x81,0xf7,0x7c,0x82,0xc0]      
+shlxq %r15, -64(%rdx,%rax,4), %r15 
+
+// CHECK: shlxq %r15, 64(%rdx,%rax), %r15 
+// CHECK: encoding: [0xc4,0x62,0x81,0xf7,0x7c,0x02,0x40]      
+shlxq %r15, 64(%rdx,%rax), %r15 
+
+// CHECK: shlxq %r15, %r15, %r15 
+// CHECK: encoding: [0xc4,0x42,0x81,0xf7,0xff]      
+shlxq %r15, %r15, %r15 
+
+// CHECK: shlxq %r15, (%rdx), %r15 
+// CHECK: encoding: [0xc4,0x62,0x81,0xf7,0x3a]      
+shlxq %r15, (%rdx), %r15 
+
+// CHECK: shrxl %r13d, 485498096, %r13d 
+// CHECK: encoding: [0xc4,0x62,0x13,0xf7,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]      
+shrxl %r13d, 485498096, %r13d 
+
+// CHECK: shrxl %r13d, 64(%rdx), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x13,0xf7,0x6a,0x40]      
+shrxl %r13d, 64(%rdx), %r13d 
+
+// CHECK: shrxl %r13d, 64(%rdx,%rax,4), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x13,0xf7,0x6c,0x82,0x40]      
+shrxl %r13d, 64(%rdx,%rax,4), %r13d 
+
+// CHECK: shrxl %r13d, -64(%rdx,%rax,4), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x13,0xf7,0x6c,0x82,0xc0]      
+shrxl %r13d, -64(%rdx,%rax,4), %r13d 
+
+// CHECK: shrxl %r13d, 64(%rdx,%rax), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x13,0xf7,0x6c,0x02,0x40]      
+shrxl %r13d, 64(%rdx,%rax), %r13d 
+
+// CHECK: shrxl %r13d, %r13d, %r13d 
+// CHECK: encoding: [0xc4,0x42,0x13,0xf7,0xed]      
+shrxl %r13d, %r13d, %r13d 
+
+// CHECK: shrxl %r13d, (%rdx), %r13d 
+// CHECK: encoding: [0xc4,0x62,0x13,0xf7,0x2a]      
+shrxl %r13d, (%rdx), %r13d 
+
+// CHECK: shrxq %r15, 485498096, %r15 
+// CHECK: encoding: [0xc4,0x62,0x83,0xf7,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]      
+shrxq %r15, 485498096, %r15 
+
+// CHECK: shrxq %r15, 64(%rdx), %r15 
+// CHECK: encoding: [0xc4,0x62,0x83,0xf7,0x7a,0x40]      
+shrxq %r15, 64(%rdx), %r15 
+
+// CHECK: shrxq %r15, 64(%rdx,%rax,4), %r15 
+// CHECK: encoding: [0xc4,0x62,0x83,0xf7,0x7c,0x82,0x40]      
+shrxq %r15, 64(%rdx,%rax,4), %r15 
+
+// CHECK: shrxq %r15, -64(%rdx,%rax,4), %r15 
+// CHECK: encoding: [0xc4,0x62,0x83,0xf7,0x7c,0x82,0xc0]      
+shrxq %r15, -64(%rdx,%rax,4), %r15 
+
+// CHECK: shrxq %r15, 64(%rdx,%rax), %r15 
+// CHECK: encoding: [0xc4,0x62,0x83,0xf7,0x7c,0x02,0x40]      
+shrxq %r15, 64(%rdx,%rax), %r15 
+
+// CHECK: shrxq %r15, %r15, %r15 
+// CHECK: encoding: [0xc4,0x42,0x83,0xf7,0xff]      
+shrxq %r15, %r15, %r15 
+
+// CHECK: shrxq %r15, (%rdx), %r15 
+// CHECK: encoding: [0xc4,0x62,0x83,0xf7,0x3a]      
+shrxq %r15, (%rdx), %r15 
+




More information about the llvm-commits mailing list