195 lines · plain
1# RUN: llvm-mc -triple x86_64 -show-encoding -x86-asm-syntax=intel -output-asm-variant=1 %s | FileCheck %s2 3# CHECK: {evex} imul dx, dx, 1234# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x6b,0xd2,0x7b]5 {evex} imul dx, dx, 1236# CHECK: {nf} imul dx, dx, 1237# CHECK: encoding: [0x62,0xf4,0x7d,0x0c,0x6b,0xd2,0x7b]8 {nf} imul dx, dx, 1239# CHECK: {evex} imul ecx, ecx, 12310# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x6b,0xc9,0x7b]11 {evex} imul ecx, ecx, 12312# CHECK: {nf} imul ecx, ecx, 12313# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0x6b,0xc9,0x7b]14 {nf} imul ecx, ecx, 12315# CHECK: {evex} imul r9, r9, 12316# CHECK: encoding: [0x62,0x54,0xfc,0x08,0x6b,0xc9,0x7b]17 {evex} imul r9, r9, 12318# CHECK: {nf} imul r9, r9, 12319# CHECK: encoding: [0x62,0x54,0xfc,0x0c,0x6b,0xc9,0x7b]20 {nf} imul r9, r9, 12321# CHECK: {evex} imul dx, word ptr [r8 + 4*rax + 291], 12322# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0x6b,0x94,0x80,0x23,0x01,0x00,0x00,0x7b]23 {evex} imul dx, word ptr [r8 + 4*rax + 291], 12324# CHECK: {nf} imul dx, word ptr [r8 + 4*rax + 291], 12325# CHECK: encoding: [0x62,0xd4,0x7d,0x0c,0x6b,0x94,0x80,0x23,0x01,0x00,0x00,0x7b]26 {nf} imul dx, word ptr [r8 + 4*rax + 291], 12327# CHECK: {evex} imul ecx, dword ptr [r8 + 4*rax + 291], 12328# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x6b,0x8c,0x80,0x23,0x01,0x00,0x00,0x7b]29 {evex} imul ecx, dword ptr [r8 + 4*rax + 291], 12330# CHECK: {nf} imul ecx, dword ptr [r8 + 4*rax + 291], 12331# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0x6b,0x8c,0x80,0x23,0x01,0x00,0x00,0x7b]32 {nf} imul ecx, dword ptr [r8 + 4*rax + 291], 12333# CHECK: {evex} imul r9, qword ptr [r8 + 4*rax + 291], 12334# CHECK: encoding: [0x62,0x54,0xfc,0x08,0x6b,0x8c,0x80,0x23,0x01,0x00,0x00,0x7b]35 {evex} imul r9, qword ptr [r8 + 4*rax + 291], 12336# CHECK: {nf} imul r9, qword ptr [r8 + 4*rax + 291], 12337# CHECK: encoding: [0x62,0x54,0xfc,0x0c,0x6b,0x8c,0x80,0x23,0x01,0x00,0x00,0x7b]38 {nf} imul r9, qword ptr [r8 + 4*rax + 291], 12339# CHECK: {evex} imul dx, dx, 123440# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x69,0xd2,0xd2,0x04]41 {evex} imul dx, dx, 123442# CHECK: {nf} imul dx, dx, 123443# CHECK: encoding: [0x62,0xf4,0x7d,0x0c,0x69,0xd2,0xd2,0x04]44 {nf} imul dx, dx, 123445# CHECK: {evex} imul dx, word ptr [r8 + 4*rax + 291], 123446# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0x69,0x94,0x80,0x23,0x01,0x00,0x00,0xd2,0x04]47 {evex} imul dx, word ptr [r8 + 4*rax + 291], 123448# CHECK: {nf} imul dx, word ptr [r8 + 4*rax + 291], 123449# CHECK: encoding: [0x62,0xd4,0x7d,0x0c,0x69,0x94,0x80,0x23,0x01,0x00,0x00,0xd2,0x04]50 {nf} imul dx, word ptr [r8 + 4*rax + 291], 123451# CHECK: {evex} imul ecx, ecx, 12345652# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x69,0xc9,0x40,0xe2,0x01,0x00]53 {evex} imul ecx, ecx, 12345654# CHECK: {nf} imul ecx, ecx, 12345655# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0x69,0xc9,0x40,0xe2,0x01,0x00]56 {nf} imul ecx, ecx, 12345657# CHECK: {evex} imul r9, r9, 12345658# CHECK: encoding: [0x62,0x54,0xfc,0x08,0x69,0xc9,0x40,0xe2,0x01,0x00]59 {evex} imul r9, r9, 12345660# CHECK: {nf} imul r9, r9, 12345661# CHECK: encoding: [0x62,0x54,0xfc,0x0c,0x69,0xc9,0x40,0xe2,0x01,0x00]62 {nf} imul r9, r9, 12345663# CHECK: {evex} imul ecx, dword ptr [r8 + 4*rax + 291], 12345664# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0x69,0x8c,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00]65 {evex} imul ecx, dword ptr [r8 + 4*rax + 291], 12345666# CHECK: {nf} imul ecx, dword ptr [r8 + 4*rax + 291], 12345667# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0x69,0x8c,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00]68 {nf} imul ecx, dword ptr [r8 + 4*rax + 291], 12345669# CHECK: {evex} imul r9, qword ptr [r8 + 4*rax + 291], 12345670# CHECK: encoding: [0x62,0x54,0xfc,0x08,0x69,0x8c,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00]71 {evex} imul r9, qword ptr [r8 + 4*rax + 291], 12345672# CHECK: {nf} imul r9, qword ptr [r8 + 4*rax + 291], 12345673# CHECK: encoding: [0x62,0x54,0xfc,0x0c,0x69,0x8c,0x80,0x23,0x01,0x00,0x00,0x40,0xe2,0x01,0x00]74 {nf} imul r9, qword ptr [r8 + 4*rax + 291], 12345675# CHECK: {evex} imul bl76# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xf6,0xeb]77 {evex} imul bl78# CHECK: {nf} imul bl79# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0xf6,0xeb]80 {nf} imul bl81# CHECK: {evex} imul dx82# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0xf7,0xea]83 {evex} imul dx84# CHECK: {nf} imul dx85# CHECK: encoding: [0x62,0xf4,0x7d,0x0c,0xf7,0xea]86 {nf} imul dx87# CHECK: {evex} imul dx, dx88# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0xaf,0xd2]89 {evex} imul dx, dx90# CHECK: {nf} imul dx, dx91# CHECK: encoding: [0x62,0xf4,0x7d,0x0c,0xaf,0xd2]92 {nf} imul dx, dx93# CHECK: imul dx, dx, dx94# CHECK: encoding: [0x62,0xf4,0x6d,0x18,0xaf,0xd2]95 imul dx, dx, dx96# CHECK: {nf} imul dx, dx, dx97# CHECK: encoding: [0x62,0xf4,0x6d,0x1c,0xaf,0xd2]98 {nf} imul dx, dx, dx99# CHECK: {evex} imul ecx100# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xf7,0xe9]101 {evex} imul ecx102# CHECK: {nf} imul ecx103# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0xf7,0xe9]104 {nf} imul ecx105# CHECK: {evex} imul ecx, ecx106# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xaf,0xc9]107 {evex} imul ecx, ecx108# CHECK: {nf} imul ecx, ecx109# CHECK: encoding: [0x62,0xf4,0x7c,0x0c,0xaf,0xc9]110 {nf} imul ecx, ecx111# CHECK: imul ecx, ecx, ecx112# CHECK: encoding: [0x62,0xf4,0x74,0x18,0xaf,0xc9]113 imul ecx, ecx, ecx114# CHECK: {nf} imul ecx, ecx, ecx115# CHECK: encoding: [0x62,0xf4,0x74,0x1c,0xaf,0xc9]116 {nf} imul ecx, ecx, ecx117# CHECK: {evex} imul r9118# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xf7,0xe9]119 {evex} imul r9120# CHECK: {nf} imul r9121# CHECK: encoding: [0x62,0xd4,0xfc,0x0c,0xf7,0xe9]122 {nf} imul r9123# CHECK: {evex} imul r9, r9124# CHECK: encoding: [0x62,0x54,0xfc,0x08,0xaf,0xc9]125 {evex} imul r9, r9126# CHECK: {nf} imul r9, r9127# CHECK: encoding: [0x62,0x54,0xfc,0x0c,0xaf,0xc9]128 {nf} imul r9, r9129# CHECK: imul r9, r9, r9130# CHECK: encoding: [0x62,0x54,0xb4,0x18,0xaf,0xc9]131 imul r9, r9, r9132# CHECK: {nf} imul r9, r9, r9133# CHECK: encoding: [0x62,0x54,0xb4,0x1c,0xaf,0xc9]134 {nf} imul r9, r9, r9135# CHECK: {evex} imul byte ptr [r8 + 4*rax + 291]136# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xf6,0xac,0x80,0x23,0x01,0x00,0x00]137 {evex} imul byte ptr [r8 + 4*rax + 291]138# CHECK: {nf} imul byte ptr [r8 + 4*rax + 291]139# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xf6,0xac,0x80,0x23,0x01,0x00,0x00]140 {nf} imul byte ptr [r8 + 4*rax + 291]141# CHECK: {evex} imul word ptr [r8 + 4*rax + 291]142# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0xf7,0xac,0x80,0x23,0x01,0x00,0x00]143 {evex} imul word ptr [r8 + 4*rax + 291]144# CHECK: {nf} imul word ptr [r8 + 4*rax + 291]145# CHECK: encoding: [0x62,0xd4,0x7d,0x0c,0xf7,0xac,0x80,0x23,0x01,0x00,0x00]146 {nf} imul word ptr [r8 + 4*rax + 291]147# CHECK: {evex} imul dx, word ptr [r8 + 4*rax + 291]148# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0xaf,0x94,0x80,0x23,0x01,0x00,0x00]149 {evex} imul dx, word ptr [r8 + 4*rax + 291]150# CHECK: {nf} imul dx, word ptr [r8 + 4*rax + 291]151# CHECK: encoding: [0x62,0xd4,0x7d,0x0c,0xaf,0x94,0x80,0x23,0x01,0x00,0x00]152 {nf} imul dx, word ptr [r8 + 4*rax + 291]153# CHECK: imul dx, dx, word ptr [r8 + 4*rax + 291]154# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0xaf,0x94,0x80,0x23,0x01,0x00,0x00]155 imul dx, dx, word ptr [r8 + 4*rax + 291]156# CHECK: {nf} imul dx, dx, word ptr [r8 + 4*rax + 291]157# CHECK: encoding: [0x62,0xd4,0x6d,0x1c,0xaf,0x94,0x80,0x23,0x01,0x00,0x00]158 {nf} imul dx, dx, word ptr [r8 + 4*rax + 291]159# CHECK: {evex} imul dword ptr [r8 + 4*rax + 291]160# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xf7,0xac,0x80,0x23,0x01,0x00,0x00]161 {evex} imul dword ptr [r8 + 4*rax + 291]162# CHECK: {nf} imul dword ptr [r8 + 4*rax + 291]163# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xf7,0xac,0x80,0x23,0x01,0x00,0x00]164 {nf} imul dword ptr [r8 + 4*rax + 291]165# CHECK: {evex} imul ecx, dword ptr [r8 + 4*rax + 291]166# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xaf,0x8c,0x80,0x23,0x01,0x00,0x00]167 {evex} imul ecx, dword ptr [r8 + 4*rax + 291]168# CHECK: {nf} imul ecx, dword ptr [r8 + 4*rax + 291]169# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xaf,0x8c,0x80,0x23,0x01,0x00,0x00]170 {nf} imul ecx, dword ptr [r8 + 4*rax + 291]171# CHECK: imul ecx, ecx, dword ptr [r8 + 4*rax + 291]172# CHECK: encoding: [0x62,0xd4,0x74,0x18,0xaf,0x8c,0x80,0x23,0x01,0x00,0x00]173 imul ecx, ecx, dword ptr [r8 + 4*rax + 291]174# CHECK: {nf} imul ecx, ecx, dword ptr [r8 + 4*rax + 291]175# CHECK: encoding: [0x62,0xd4,0x74,0x1c,0xaf,0x8c,0x80,0x23,0x01,0x00,0x00]176 {nf} imul ecx, ecx, dword ptr [r8 + 4*rax + 291]177# CHECK: {evex} imul qword ptr [r8 + 4*rax + 291]178# CHECK: encoding: [0x62,0xd4,0xfc,0x08,0xf7,0xac,0x80,0x23,0x01,0x00,0x00]179 {evex} imul qword ptr [r8 + 4*rax + 291]180# CHECK: {nf} imul qword ptr [r8 + 4*rax + 291]181# CHECK: encoding: [0x62,0xd4,0xfc,0x0c,0xf7,0xac,0x80,0x23,0x01,0x00,0x00]182 {nf} imul qword ptr [r8 + 4*rax + 291]183# CHECK: {evex} imul r9, qword ptr [r8 + 4*rax + 291]184# CHECK: encoding: [0x62,0x54,0xfc,0x08,0xaf,0x8c,0x80,0x23,0x01,0x00,0x00]185 {evex} imul r9, qword ptr [r8 + 4*rax + 291]186# CHECK: {nf} imul r9, qword ptr [r8 + 4*rax + 291]187# CHECK: encoding: [0x62,0x54,0xfc,0x0c,0xaf,0x8c,0x80,0x23,0x01,0x00,0x00]188 {nf} imul r9, qword ptr [r8 + 4*rax + 291]189# CHECK: imul r9, r9, qword ptr [r8 + 4*rax + 291]190# CHECK: encoding: [0x62,0x54,0xb4,0x18,0xaf,0x8c,0x80,0x23,0x01,0x00,0x00]191 imul r9, r9, qword ptr [r8 + 4*rax + 291]192# CHECK: {nf} imul r9, r9, qword ptr [r8 + 4*rax + 291]193# CHECK: encoding: [0x62,0x54,0xb4,0x1c,0xaf,0x8c,0x80,0x23,0x01,0x00,0x00]194 {nf} imul r9, r9, qword ptr [r8 + 4*rax + 291]195