1 // RUN: llvm-mc -x86-asm-syntax=intel -triple i386-unknown-unknown --show-encoding %s | FileCheck %s 2 3 mov eax, [ebx].0 4 mov [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