1// RUN: llvm-mc -x86-asm-syntax=intel -triple i386-unknown-unknown --show-encoding %s | FileCheck %s 2 3mov eax, [ebx].0 4mov [ebx].4, ecx 5 6// CHECK: movl (%ebx), %eax 7// CHECK: encoding: [0x8b,0x03] 8// CHECK: movl %ecx, 4(%ebx) 9// CHECK: encoding: [0x89,0x4b,0x04] 10 11_t21: ## @t21 12// CHECK: t21 13 mov eax, [4*eax + 4] 14// CHECK: movl 4(,%eax,4), %eax 15// CHECK: # encoding: [0x8b,0x04,0x85,0x04,0x00,0x00,0x00] 16 mov eax, [4*eax][4] 17// CHECK: movl 4(,%eax,4), %eax 18// CHECK: # encoding: [0x8b,0x04,0x85,0x04,0x00,0x00,0x00] 19 20 mov eax, [esi + eax] 21// CHECK: movl (%esi,%eax), %eax 22// CHECK: # encoding: [0x8b,0x04,0x06] 23 mov eax, [esi][eax] 24// CHECK: movl (%esi,%eax), %eax 25// CHECK: # encoding: [0x8b,0x04,0x06] 26 27 mov eax, [esi + 4*eax] 28// CHECK: movl (%esi,%eax,4), %eax 29// CHECK: # encoding: [0x8b,0x04,0x86] 30 mov eax, [esi][4*eax] 31// CHECK: movl (%esi,%eax,4), %eax 32// CHECK: # encoding: [0x8b,0x04,0x86] 33 34 mov eax, [esi + eax + 4] 35// CHECK: movl 4(%esi,%eax), %eax 36// CHECK: # encoding: [0x8b,0x44,0x06,0x04] 37 mov eax, [esi][eax + 4] 38// CHECK: movl 4(%esi,%eax), %eax 39// CHECK: # encoding: [0x8b,0x44,0x06,0x04] 40 mov eax, [esi + eax][4] 41// CHECK: movl 4(%esi,%eax), %eax 42// CHECK: # encoding: [0x8b,0x44,0x06,0x04] 43 mov eax, [esi][eax][4] 44// CHECK: movl 4(%esi,%eax), %eax 45// CHECK: # encoding: [0x8b,0x44,0x06,0x04] 46 47 mov eax, [esi + 2*eax + 4] 48// CHECK: movl 4(%esi,%eax,2), %eax 49// CHECK: # encoding: [0x8b,0x44,0x46,0x04] 50 mov eax, [esi][2*eax + 4] 51// CHECK: movl 4(%esi,%eax,2), %eax 52// CHECK: # encoding: [0x8b,0x44,0x46,0x04] 53 mov eax, [esi + 2*eax][4] 54// CHECK: movl 4(%esi,%eax,2), %eax 55// CHECK: # encoding: [0x8b,0x44,0x46,0x04] 56 mov eax, [esi][2*eax][4] 57// CHECK: movl 4(%esi,%eax,2), %eax 58// CHECK: # encoding: [0x8b,0x44,0x46,0x04] 59 60 mov eax, 4[esi + 2*eax + 4] 61// CHECK: movl 8(%esi,%eax,2), %eax 62// CHECK: # encoding: [0x8b,0x44,0x46,0x08] 63 mov eax, 4[esi][2*eax + 4] 64// CHECK: movl 8(%esi,%eax,2), %eax 65// CHECK: # encoding: [0x8b,0x44,0x46,0x08] 66 mov eax, 4[esi + 2*eax][4] 67// CHECK: movl 8(%esi,%eax,2), %eax 68// CHECK: # encoding: [0x8b,0x44,0x46,0x08] 69 mov eax, 4[esi][2*eax][4] 70// CHECK: movl 8(%esi,%eax,2), %eax 71// CHECK: # encoding: [0x8b,0x44,0x46,0x08] 72 mov eax, 4[esi][2*eax][4][8] 73// CHECK: movl 16(%esi,%eax,2), %eax 74// CHECK: # encoding: [0x8b,0x44,0x46,0x10] 75 76 prefetchnta 64[eax] 77// CHECK: prefetchnta 64(%eax) 78// CHECK: # encoding: [0x0f,0x18,0x40,0x40] 79 80 pusha 81// CHECK: pushal 82// CHECK: # encoding: [0x60] 83 popa 84// CHECK: popal 85// CHECK: # encoding: [0x61] 86 pushad 87// CHECK: pushal 88// CHECK: # encoding: [0x60] 89 popad 90// CHECK: popal 91// CHECK: # encoding: [0x61] 92 93 fwait 94// CHECK: wait 95// CHECK: # encoding: [0x9b] 96 97 ret 98