Index: llvm/trunk/test/MC/X86/BMI1-32.s =================================================================== --- llvm/trunk/test/MC/X86/BMI1-32.s +++ llvm/trunk/test/MC/X86/BMI1-32.s @@ -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 + Index: llvm/trunk/test/MC/X86/BMI1-64.s =================================================================== --- llvm/trunk/test/MC/X86/BMI1-64.s +++ llvm/trunk/test/MC/X86/BMI1-64.s @@ -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 + Index: llvm/trunk/test/MC/X86/BMI2-32.s =================================================================== --- llvm/trunk/test/MC/X86/BMI2-32.s +++ llvm/trunk/test/MC/X86/BMI2-32.s @@ -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 + Index: llvm/trunk/test/MC/X86/BMI2-64.s =================================================================== --- llvm/trunk/test/MC/X86/BMI2-64.s +++ llvm/trunk/test/MC/X86/BMI2-64.s @@ -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 +