1# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT 2# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL 3 4# ATT: cmpaxadd %ecx, %edx, 123(%rax,%rbx,4) 5# INTEL: cmpaxadd dword ptr [rax + 4*rbx + 123], edx, ecx 60x62,0xf2,0x75,0x08,0xe7,0x54,0x98,0x7b 7 8# ATT: cmpaxadd %r9, %r15, 123(%rax,%rbx,4) 9# INTEL: cmpaxadd qword ptr [rax + 4*rbx + 123], r15, r9 100x62,0x72,0xb5,0x08,0xe7,0x7c,0x98,0x7b 11 12# ATT: cmpaxadd %r18d, %r22d, 291(%r28,%r29,4) 13# INTEL: cmpaxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 140x62,0x8a,0x69,0x00,0xe7,0xb4,0xac,0x23,0x01,0x00,0x00 15 16# ATT: cmpaxadd %r19, %r23, 291(%r28,%r29,4) 17# INTEL: cmpaxadd qword ptr [r28 + 4*r29 + 291], r23, r19 180x62,0x8a,0xe1,0x00,0xe7,0xbc,0xac,0x23,0x01,0x00,0x00 19 20# ATT: cmpbexadd %ecx, %edx, 123(%rax,%rbx,4) 21# INTEL: cmpbexadd dword ptr [rax + 4*rbx + 123], edx, ecx 220x62,0xf2,0x75,0x08,0xe6,0x54,0x98,0x7b 23 24# ATT: cmpbexadd %r9, %r15, 123(%rax,%rbx,4) 25# INTEL: cmpbexadd qword ptr [rax + 4*rbx + 123], r15, r9 260x62,0x72,0xb5,0x08,0xe6,0x7c,0x98,0x7b 27 28# ATT: cmpbexadd %r18d, %r22d, 291(%r28,%r29,4) 29# INTEL: cmpbexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 300x62,0x8a,0x69,0x00,0xe6,0xb4,0xac,0x23,0x01,0x00,0x00 31 32# ATT: cmpbexadd %r19, %r23, 291(%r28,%r29,4) 33# INTEL: cmpbexadd qword ptr [r28 + 4*r29 + 291], r23, r19 340x62,0x8a,0xe1,0x00,0xe6,0xbc,0xac,0x23,0x01,0x00,0x00 35 36# ATT: cmpbxadd %ecx, %edx, 123(%rax,%rbx,4) 37# INTEL: cmpbxadd dword ptr [rax + 4*rbx + 123], edx, ecx 380x62,0xf2,0x75,0x08,0xe2,0x54,0x98,0x7b 39 40# ATT: cmpbxadd %r9, %r15, 123(%rax,%rbx,4) 41# INTEL: cmpbxadd qword ptr [rax + 4*rbx + 123], r15, r9 420x62,0x72,0xb5,0x08,0xe2,0x7c,0x98,0x7b 43 44# ATT: cmpbxadd %r18d, %r22d, 291(%r28,%r29,4) 45# INTEL: cmpbxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 460x62,0x8a,0x69,0x00,0xe2,0xb4,0xac,0x23,0x01,0x00,0x00 47 48# ATT: cmpbxadd %r19, %r23, 291(%r28,%r29,4) 49# INTEL: cmpbxadd qword ptr [r28 + 4*r29 + 291], r23, r19 500x62,0x8a,0xe1,0x00,0xe2,0xbc,0xac,0x23,0x01,0x00,0x00 51 52# ATT: cmpexadd %ecx, %edx, 123(%rax,%rbx,4) 53# INTEL: cmpexadd dword ptr [rax + 4*rbx + 123], edx, ecx 540x62,0xf2,0x75,0x08,0xe4,0x54,0x98,0x7b 55 56# ATT: cmpexadd %r9, %r15, 123(%rax,%rbx,4) 57# INTEL: cmpexadd qword ptr [rax + 4*rbx + 123], r15, r9 580x62,0x72,0xb5,0x08,0xe4,0x7c,0x98,0x7b 59 60# ATT: cmpexadd %r18d, %r22d, 291(%r28,%r29,4) 61# INTEL: cmpexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 620x62,0x8a,0x69,0x00,0xe4,0xb4,0xac,0x23,0x01,0x00,0x00 63 64# ATT: cmpexadd %r19, %r23, 291(%r28,%r29,4) 65# INTEL: cmpexadd qword ptr [r28 + 4*r29 + 291], r23, r19 660x62,0x8a,0xe1,0x00,0xe4,0xbc,0xac,0x23,0x01,0x00,0x00 67 68# ATT: cmpgexadd %ecx, %edx, 123(%rax,%rbx,4) 69# INTEL: cmpgexadd dword ptr [rax + 4*rbx + 123], edx, ecx 700x62,0xf2,0x75,0x08,0xed,0x54,0x98,0x7b 71 72# ATT: cmpgexadd %r9, %r15, 123(%rax,%rbx,4) 73# INTEL: cmpgexadd qword ptr [rax + 4*rbx + 123], r15, r9 740x62,0x72,0xb5,0x08,0xed,0x7c,0x98,0x7b 75 76# ATT: cmpgexadd %r18d, %r22d, 291(%r28,%r29,4) 77# INTEL: cmpgexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 780x62,0x8a,0x69,0x00,0xed,0xb4,0xac,0x23,0x01,0x00,0x00 79 80# ATT: cmpgexadd %r19, %r23, 291(%r28,%r29,4) 81# INTEL: cmpgexadd qword ptr [r28 + 4*r29 + 291], r23, r19 820x62,0x8a,0xe1,0x00,0xed,0xbc,0xac,0x23,0x01,0x00,0x00 83 84# ATT: cmpgxadd %ecx, %edx, 123(%rax,%rbx,4) 85# INTEL: cmpgxadd dword ptr [rax + 4*rbx + 123], edx, ecx 860x62,0xf2,0x75,0x08,0xef,0x54,0x98,0x7b 87 88# ATT: cmpgxadd %r9, %r15, 123(%rax,%rbx,4) 89# INTEL: cmpgxadd qword ptr [rax + 4*rbx + 123], r15, r9 900x62,0x72,0xb5,0x08,0xef,0x7c,0x98,0x7b 91 92# ATT: cmpgxadd %r18d, %r22d, 291(%r28,%r29,4) 93# INTEL: cmpgxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 940x62,0x8a,0x69,0x00,0xef,0xb4,0xac,0x23,0x01,0x00,0x00 95 96# ATT: cmpgxadd %r19, %r23, 291(%r28,%r29,4) 97# INTEL: cmpgxadd qword ptr [r28 + 4*r29 + 291], r23, r19 980x62,0x8a,0xe1,0x00,0xef,0xbc,0xac,0x23,0x01,0x00,0x00 99 100# ATT: cmplexadd %ecx, %edx, 123(%rax,%rbx,4) 101# INTEL: cmplexadd dword ptr [rax + 4*rbx + 123], edx, ecx 1020x62,0xf2,0x75,0x08,0xee,0x54,0x98,0x7b 103 104# ATT: cmplexadd %r9, %r15, 123(%rax,%rbx,4) 105# INTEL: cmplexadd qword ptr [rax + 4*rbx + 123], r15, r9 1060x62,0x72,0xb5,0x08,0xee,0x7c,0x98,0x7b 107 108# ATT: cmplexadd %r18d, %r22d, 291(%r28,%r29,4) 109# INTEL: cmplexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 1100x62,0x8a,0x69,0x00,0xee,0xb4,0xac,0x23,0x01,0x00,0x00 111 112# ATT: cmplexadd %r19, %r23, 291(%r28,%r29,4) 113# INTEL: cmplexadd qword ptr [r28 + 4*r29 + 291], r23, r19 1140x62,0x8a,0xe1,0x00,0xee,0xbc,0xac,0x23,0x01,0x00,0x00 115 116# ATT: cmplxadd %ecx, %edx, 123(%rax,%rbx,4) 117# INTEL: cmplxadd dword ptr [rax + 4*rbx + 123], edx, ecx 1180x62,0xf2,0x75,0x08,0xec,0x54,0x98,0x7b 119 120# ATT: cmplxadd %r9, %r15, 123(%rax,%rbx,4) 121# INTEL: cmplxadd qword ptr [rax + 4*rbx + 123], r15, r9 1220x62,0x72,0xb5,0x08,0xec,0x7c,0x98,0x7b 123 124# ATT: cmplxadd %r18d, %r22d, 291(%r28,%r29,4) 125# INTEL: cmplxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 1260x62,0x8a,0x69,0x00,0xec,0xb4,0xac,0x23,0x01,0x00,0x00 127 128# ATT: cmplxadd %r19, %r23, 291(%r28,%r29,4) 129# INTEL: cmplxadd qword ptr [r28 + 4*r29 + 291], r23, r19 1300x62,0x8a,0xe1,0x00,0xec,0xbc,0xac,0x23,0x01,0x00,0x00 131 132# ATT: cmpnexadd %ecx, %edx, 123(%rax,%rbx,4) 133# INTEL: cmpnexadd dword ptr [rax + 4*rbx + 123], edx, ecx 1340x62,0xf2,0x75,0x08,0xe5,0x54,0x98,0x7b 135 136# ATT: cmpnexadd %r9, %r15, 123(%rax,%rbx,4) 137# INTEL: cmpnexadd qword ptr [rax + 4*rbx + 123], r15, r9 1380x62,0x72,0xb5,0x08,0xe5,0x7c,0x98,0x7b 139 140# ATT: cmpnexadd %r18d, %r22d, 291(%r28,%r29,4) 141# INTEL: cmpnexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 1420x62,0x8a,0x69,0x00,0xe5,0xb4,0xac,0x23,0x01,0x00,0x00 143 144# ATT: cmpnexadd %r19, %r23, 291(%r28,%r29,4) 145# INTEL: cmpnexadd qword ptr [r28 + 4*r29 + 291], r23, r19 1460x62,0x8a,0xe1,0x00,0xe5,0xbc,0xac,0x23,0x01,0x00,0x00 147 148# ATT: cmpnoxadd %ecx, %edx, 123(%rax,%rbx,4) 149# INTEL: cmpnoxadd dword ptr [rax + 4*rbx + 123], edx, ecx 1500x62,0xf2,0x75,0x08,0xe1,0x54,0x98,0x7b 151 152# ATT: cmpnoxadd %r9, %r15, 123(%rax,%rbx,4) 153# INTEL: cmpnoxadd qword ptr [rax + 4*rbx + 123], r15, r9 1540x62,0x72,0xb5,0x08,0xe1,0x7c,0x98,0x7b 155 156# ATT: cmpnoxadd %r18d, %r22d, 291(%r28,%r29,4) 157# INTEL: cmpnoxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 1580x62,0x8a,0x69,0x00,0xe1,0xb4,0xac,0x23,0x01,0x00,0x00 159 160# ATT: cmpnoxadd %r19, %r23, 291(%r28,%r29,4) 161# INTEL: cmpnoxadd qword ptr [r28 + 4*r29 + 291], r23, r19 1620x62,0x8a,0xe1,0x00,0xe1,0xbc,0xac,0x23,0x01,0x00,0x00 163 164# ATT: cmpnpxadd %ecx, %edx, 123(%rax,%rbx,4) 165# INTEL: cmpnpxadd dword ptr [rax + 4*rbx + 123], edx, ecx 1660x62,0xf2,0x75,0x08,0xeb,0x54,0x98,0x7b 167 168# ATT: cmpnpxadd %r9, %r15, 123(%rax,%rbx,4) 169# INTEL: cmpnpxadd qword ptr [rax + 4*rbx + 123], r15, r9 1700x62,0x72,0xb5,0x08,0xeb,0x7c,0x98,0x7b 171 172# ATT: cmpnpxadd %r18d, %r22d, 291(%r28,%r29,4) 173# INTEL: cmpnpxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 1740x62,0x8a,0x69,0x00,0xeb,0xb4,0xac,0x23,0x01,0x00,0x00 175 176# ATT: cmpnpxadd %r19, %r23, 291(%r28,%r29,4) 177# INTEL: cmpnpxadd qword ptr [r28 + 4*r29 + 291], r23, r19 1780x62,0x8a,0xe1,0x00,0xeb,0xbc,0xac,0x23,0x01,0x00,0x00 179 180# ATT: cmpnsxadd %ecx, %edx, 123(%rax,%rbx,4) 181# INTEL: cmpnsxadd dword ptr [rax + 4*rbx + 123], edx, ecx 1820x62,0xf2,0x75,0x08,0xe9,0x54,0x98,0x7b 183 184# ATT: cmpnsxadd %r9, %r15, 123(%rax,%rbx,4) 185# INTEL: cmpnsxadd qword ptr [rax + 4*rbx + 123], r15, r9 1860x62,0x72,0xb5,0x08,0xe9,0x7c,0x98,0x7b 187 188# ATT: cmpnsxadd %r18d, %r22d, 291(%r28,%r29,4) 189# INTEL: cmpnsxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 1900x62,0x8a,0x69,0x00,0xe9,0xb4,0xac,0x23,0x01,0x00,0x00 191 192# ATT: cmpnsxadd %r19, %r23, 291(%r28,%r29,4) 193# INTEL: cmpnsxadd qword ptr [r28 + 4*r29 + 291], r23, r19 1940x62,0x8a,0xe1,0x00,0xe9,0xbc,0xac,0x23,0x01,0x00,0x00 195 196# ATT: cmpoxadd %ecx, %edx, 123(%rax,%rbx,4) 197# INTEL: cmpoxadd dword ptr [rax + 4*rbx + 123], edx, ecx 1980x62,0xf2,0x75,0x08,0xe0,0x54,0x98,0x7b 199 200# ATT: cmpoxadd %r9, %r15, 123(%rax,%rbx,4) 201# INTEL: cmpoxadd qword ptr [rax + 4*rbx + 123], r15, r9 2020x62,0x72,0xb5,0x08,0xe0,0x7c,0x98,0x7b 203 204# ATT: cmpoxadd %r18d, %r22d, 291(%r28,%r29,4) 205# INTEL: cmpoxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 2060x62,0x8a,0x69,0x00,0xe0,0xb4,0xac,0x23,0x01,0x00,0x00 207 208# ATT: cmpoxadd %r19, %r23, 291(%r28,%r29,4) 209# INTEL: cmpoxadd qword ptr [r28 + 4*r29 + 291], r23, r19 2100x62,0x8a,0xe1,0x00,0xe0,0xbc,0xac,0x23,0x01,0x00,0x00 211 212# ATT: cmppxadd %ecx, %edx, 123(%rax,%rbx,4) 213# INTEL: cmppxadd dword ptr [rax + 4*rbx + 123], edx, ecx 2140x62,0xf2,0x75,0x08,0xea,0x54,0x98,0x7b 215 216# ATT: cmppxadd %r9, %r15, 123(%rax,%rbx,4) 217# INTEL: cmppxadd qword ptr [rax + 4*rbx + 123], r15, r9 2180x62,0x72,0xb5,0x08,0xea,0x7c,0x98,0x7b 219 220# ATT: cmppxadd %r18d, %r22d, 291(%r28,%r29,4) 221# INTEL: cmppxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 2220x62,0x8a,0x69,0x00,0xea,0xb4,0xac,0x23,0x01,0x00,0x00 223 224# ATT: cmppxadd %r19, %r23, 291(%r28,%r29,4) 225# INTEL: cmppxadd qword ptr [r28 + 4*r29 + 291], r23, r19 2260x62,0x8a,0xe1,0x00,0xea,0xbc,0xac,0x23,0x01,0x00,0x00 227 228# ATT: cmpsxadd %ecx, %edx, 123(%rax,%rbx,4) 229# INTEL: cmpsxadd dword ptr [rax + 4*rbx + 123], edx, ecx 2300x62,0xf2,0x75,0x08,0xe8,0x54,0x98,0x7b 231 232# ATT: cmpsxadd %r9, %r15, 123(%rax,%rbx,4) 233# INTEL: cmpsxadd qword ptr [rax + 4*rbx + 123], r15, r9 2340x62,0x72,0xb5,0x08,0xe8,0x7c,0x98,0x7b 235 236# ATT: cmpsxadd %r18d, %r22d, 291(%r28,%r29,4) 237# INTEL: cmpsxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 2380x62,0x8a,0x69,0x00,0xe8,0xb4,0xac,0x23,0x01,0x00,0x00 239 240# ATT: cmpsxadd %r19, %r23, 291(%r28,%r29,4) 241# INTEL: cmpsxadd qword ptr [r28 + 4*r29 + 291], r23, r19 2420x62,0x8a,0xe1,0x00,0xe8,0xbc,0xac,0x23,0x01,0x00,0x00 243