1# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s 2 3# CHECK: {evex} cmpaxadd dword ptr [rax + 4*rbx + 123], edx, ecx 4# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe7,0x54,0x98,0x7b] 5 {evex} cmpaxadd dword ptr [rax + 4*rbx + 123], edx, ecx 6 7# CHECK: {evex} cmpaxadd qword ptr [rax + 4*rbx + 123], r15, r9 8# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe7,0x7c,0x98,0x7b] 9 {evex} cmpaxadd qword ptr [rax + 4*rbx + 123], r15, r9 10 11# CHECK: cmpaxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 12# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe7,0xb4,0xac,0x23,0x01,0x00,0x00] 13 cmpaxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 14 15# CHECK: cmpaxadd qword ptr [r28 + 4*r29 + 291], r23, r19 16# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe7,0xbc,0xac,0x23,0x01,0x00,0x00] 17 cmpaxadd qword ptr [r28 + 4*r29 + 291], r23, r19 18 19# CHECK: {evex} cmpbexadd dword ptr [rax + 4*rbx + 123], edx, ecx 20# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe6,0x54,0x98,0x7b] 21 {evex} cmpbexadd dword ptr [rax + 4*rbx + 123], edx, ecx 22 23# CHECK: {evex} cmpbexadd qword ptr [rax + 4*rbx + 123], r15, r9 24# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe6,0x7c,0x98,0x7b] 25 {evex} cmpbexadd qword ptr [rax + 4*rbx + 123], r15, r9 26 27# CHECK: cmpbexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 28# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe6,0xb4,0xac,0x23,0x01,0x00,0x00] 29 cmpbexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 30 31# CHECK: cmpbexadd qword ptr [r28 + 4*r29 + 291], r23, r19 32# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe6,0xbc,0xac,0x23,0x01,0x00,0x00] 33 cmpbexadd qword ptr [r28 + 4*r29 + 291], r23, r19 34 35# CHECK: {evex} cmpbxadd dword ptr [rax + 4*rbx + 123], edx, ecx 36# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe2,0x54,0x98,0x7b] 37 {evex} cmpbxadd dword ptr [rax + 4*rbx + 123], edx, ecx 38 39# CHECK: {evex} cmpbxadd qword ptr [rax + 4*rbx + 123], r15, r9 40# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe2,0x7c,0x98,0x7b] 41 {evex} cmpbxadd qword ptr [rax + 4*rbx + 123], r15, r9 42 43# CHECK: cmpbxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 44# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe2,0xb4,0xac,0x23,0x01,0x00,0x00] 45 cmpbxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 46 47# CHECK: cmpbxadd qword ptr [r28 + 4*r29 + 291], r23, r19 48# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe2,0xbc,0xac,0x23,0x01,0x00,0x00] 49 cmpbxadd qword ptr [r28 + 4*r29 + 291], r23, r19 50 51# CHECK: {evex} cmpexadd dword ptr [rax + 4*rbx + 123], edx, ecx 52# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe4,0x54,0x98,0x7b] 53 {evex} cmpexadd dword ptr [rax + 4*rbx + 123], edx, ecx 54 55# CHECK: {evex} cmpexadd qword ptr [rax + 4*rbx + 123], r15, r9 56# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe4,0x7c,0x98,0x7b] 57 {evex} cmpexadd qword ptr [rax + 4*rbx + 123], r15, r9 58 59# CHECK: cmpexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 60# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe4,0xb4,0xac,0x23,0x01,0x00,0x00] 61 cmpexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 62 63# CHECK: cmpexadd qword ptr [r28 + 4*r29 + 291], r23, r19 64# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe4,0xbc,0xac,0x23,0x01,0x00,0x00] 65 cmpexadd qword ptr [r28 + 4*r29 + 291], r23, r19 66 67# CHECK: {evex} cmpgexadd dword ptr [rax + 4*rbx + 123], edx, ecx 68# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xed,0x54,0x98,0x7b] 69 {evex} cmpgexadd dword ptr [rax + 4*rbx + 123], edx, ecx 70 71# CHECK: {evex} cmpgexadd qword ptr [rax + 4*rbx + 123], r15, r9 72# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xed,0x7c,0x98,0x7b] 73 {evex} cmpgexadd qword ptr [rax + 4*rbx + 123], r15, r9 74 75# CHECK: cmpgexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 76# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xed,0xb4,0xac,0x23,0x01,0x00,0x00] 77 cmpgexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 78 79# CHECK: cmpgexadd qword ptr [r28 + 4*r29 + 291], r23, r19 80# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xed,0xbc,0xac,0x23,0x01,0x00,0x00] 81 cmpgexadd qword ptr [r28 + 4*r29 + 291], r23, r19 82 83# CHECK: {evex} cmpgxadd dword ptr [rax + 4*rbx + 123], edx, ecx 84# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xef,0x54,0x98,0x7b] 85 {evex} cmpgxadd dword ptr [rax + 4*rbx + 123], edx, ecx 86 87# CHECK: {evex} cmpgxadd qword ptr [rax + 4*rbx + 123], r15, r9 88# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xef,0x7c,0x98,0x7b] 89 {evex} cmpgxadd qword ptr [rax + 4*rbx + 123], r15, r9 90 91# CHECK: cmpgxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 92# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xef,0xb4,0xac,0x23,0x01,0x00,0x00] 93 cmpgxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 94 95# CHECK: cmpgxadd qword ptr [r28 + 4*r29 + 291], r23, r19 96# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xef,0xbc,0xac,0x23,0x01,0x00,0x00] 97 cmpgxadd qword ptr [r28 + 4*r29 + 291], r23, r19 98 99# CHECK: {evex} cmplexadd dword ptr [rax + 4*rbx + 123], edx, ecx 100# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xee,0x54,0x98,0x7b] 101 {evex} cmplexadd dword ptr [rax + 4*rbx + 123], edx, ecx 102 103# CHECK: {evex} cmplexadd qword ptr [rax + 4*rbx + 123], r15, r9 104# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xee,0x7c,0x98,0x7b] 105 {evex} cmplexadd qword ptr [rax + 4*rbx + 123], r15, r9 106 107# CHECK: cmplexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 108# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xee,0xb4,0xac,0x23,0x01,0x00,0x00] 109 cmplexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 110 111# CHECK: cmplexadd qword ptr [r28 + 4*r29 + 291], r23, r19 112# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xee,0xbc,0xac,0x23,0x01,0x00,0x00] 113 cmplexadd qword ptr [r28 + 4*r29 + 291], r23, r19 114 115# CHECK: {evex} cmplxadd dword ptr [rax + 4*rbx + 123], edx, ecx 116# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xec,0x54,0x98,0x7b] 117 {evex} cmplxadd dword ptr [rax + 4*rbx + 123], edx, ecx 118 119# CHECK: {evex} cmplxadd qword ptr [rax + 4*rbx + 123], r15, r9 120# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xec,0x7c,0x98,0x7b] 121 {evex} cmplxadd qword ptr [rax + 4*rbx + 123], r15, r9 122 123# CHECK: cmplxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 124# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xec,0xb4,0xac,0x23,0x01,0x00,0x00] 125 cmplxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 126 127# CHECK: cmplxadd qword ptr [r28 + 4*r29 + 291], r23, r19 128# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xec,0xbc,0xac,0x23,0x01,0x00,0x00] 129 cmplxadd qword ptr [r28 + 4*r29 + 291], r23, r19 130 131# CHECK: {evex} cmpnexadd dword ptr [rax + 4*rbx + 123], edx, ecx 132# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe5,0x54,0x98,0x7b] 133 {evex} cmpnexadd dword ptr [rax + 4*rbx + 123], edx, ecx 134 135# CHECK: {evex} cmpnexadd qword ptr [rax + 4*rbx + 123], r15, r9 136# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe5,0x7c,0x98,0x7b] 137 {evex} cmpnexadd qword ptr [rax + 4*rbx + 123], r15, r9 138 139# CHECK: cmpnexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 140# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe5,0xb4,0xac,0x23,0x01,0x00,0x00] 141 cmpnexadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 142 143# CHECK: cmpnexadd qword ptr [r28 + 4*r29 + 291], r23, r19 144# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe5,0xbc,0xac,0x23,0x01,0x00,0x00] 145 cmpnexadd qword ptr [r28 + 4*r29 + 291], r23, r19 146 147# CHECK: {evex} cmpnoxadd dword ptr [rax + 4*rbx + 123], edx, ecx 148# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe1,0x54,0x98,0x7b] 149 {evex} cmpnoxadd dword ptr [rax + 4*rbx + 123], edx, ecx 150 151# CHECK: {evex} cmpnoxadd qword ptr [rax + 4*rbx + 123], r15, r9 152# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe1,0x7c,0x98,0x7b] 153 {evex} cmpnoxadd qword ptr [rax + 4*rbx + 123], r15, r9 154 155# CHECK: cmpnoxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 156# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe1,0xb4,0xac,0x23,0x01,0x00,0x00] 157 cmpnoxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 158 159# CHECK: cmpnoxadd qword ptr [r28 + 4*r29 + 291], r23, r19 160# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe1,0xbc,0xac,0x23,0x01,0x00,0x00] 161 cmpnoxadd qword ptr [r28 + 4*r29 + 291], r23, r19 162 163# CHECK: {evex} cmpnpxadd dword ptr [rax + 4*rbx + 123], edx, ecx 164# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xeb,0x54,0x98,0x7b] 165 {evex} cmpnpxadd dword ptr [rax + 4*rbx + 123], edx, ecx 166 167# CHECK: {evex} cmpnpxadd qword ptr [rax + 4*rbx + 123], r15, r9 168# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xeb,0x7c,0x98,0x7b] 169 {evex} cmpnpxadd qword ptr [rax + 4*rbx + 123], r15, r9 170 171# CHECK: cmpnpxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 172# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xeb,0xb4,0xac,0x23,0x01,0x00,0x00] 173 cmpnpxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 174 175# CHECK: cmpnpxadd qword ptr [r28 + 4*r29 + 291], r23, r19 176# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xeb,0xbc,0xac,0x23,0x01,0x00,0x00] 177 cmpnpxadd qword ptr [r28 + 4*r29 + 291], r23, r19 178 179# CHECK: {evex} cmpnsxadd dword ptr [rax + 4*rbx + 123], edx, ecx 180# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe9,0x54,0x98,0x7b] 181 {evex} cmpnsxadd dword ptr [rax + 4*rbx + 123], edx, ecx 182 183# CHECK: {evex} cmpnsxadd qword ptr [rax + 4*rbx + 123], r15, r9 184# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe9,0x7c,0x98,0x7b] 185 {evex} cmpnsxadd qword ptr [rax + 4*rbx + 123], r15, r9 186 187# CHECK: cmpnsxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 188# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe9,0xb4,0xac,0x23,0x01,0x00,0x00] 189 cmpnsxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 190 191# CHECK: cmpnsxadd qword ptr [r28 + 4*r29 + 291], r23, r19 192# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe9,0xbc,0xac,0x23,0x01,0x00,0x00] 193 cmpnsxadd qword ptr [r28 + 4*r29 + 291], r23, r19 194 195# CHECK: {evex} cmpoxadd dword ptr [rax + 4*rbx + 123], edx, ecx 196# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe0,0x54,0x98,0x7b] 197 {evex} cmpoxadd dword ptr [rax + 4*rbx + 123], edx, ecx 198 199# CHECK: {evex} cmpoxadd qword ptr [rax + 4*rbx + 123], r15, r9 200# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe0,0x7c,0x98,0x7b] 201 {evex} cmpoxadd qword ptr [rax + 4*rbx + 123], r15, r9 202 203# CHECK: cmpoxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 204# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe0,0xb4,0xac,0x23,0x01,0x00,0x00] 205 cmpoxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 206 207# CHECK: cmpoxadd qword ptr [r28 + 4*r29 + 291], r23, r19 208# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe0,0xbc,0xac,0x23,0x01,0x00,0x00] 209 cmpoxadd qword ptr [r28 + 4*r29 + 291], r23, r19 210 211# CHECK: {evex} cmppxadd dword ptr [rax + 4*rbx + 123], edx, ecx 212# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xea,0x54,0x98,0x7b] 213 {evex} cmppxadd dword ptr [rax + 4*rbx + 123], edx, ecx 214 215# CHECK: {evex} cmppxadd qword ptr [rax + 4*rbx + 123], r15, r9 216# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xea,0x7c,0x98,0x7b] 217 {evex} cmppxadd qword ptr [rax + 4*rbx + 123], r15, r9 218 219# CHECK: cmppxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 220# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xea,0xb4,0xac,0x23,0x01,0x00,0x00] 221 cmppxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 222 223# CHECK: cmppxadd qword ptr [r28 + 4*r29 + 291], r23, r19 224# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xea,0xbc,0xac,0x23,0x01,0x00,0x00] 225 cmppxadd qword ptr [r28 + 4*r29 + 291], r23, r19 226 227# CHECK: {evex} cmpsxadd dword ptr [rax + 4*rbx + 123], edx, ecx 228# CHECK: encoding: [0x62,0xf2,0x75,0x08,0xe8,0x54,0x98,0x7b] 229 {evex} cmpsxadd dword ptr [rax + 4*rbx + 123], edx, ecx 230 231# CHECK: {evex} cmpsxadd qword ptr [rax + 4*rbx + 123], r15, r9 232# CHECK: encoding: [0x62,0x72,0xb5,0x08,0xe8,0x7c,0x98,0x7b] 233 {evex} cmpsxadd qword ptr [rax + 4*rbx + 123], r15, r9 234 235# CHECK: cmpsxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 236# CHECK: encoding: [0x62,0x8a,0x69,0x00,0xe8,0xb4,0xac,0x23,0x01,0x00,0x00] 237 cmpsxadd dword ptr [r28 + 4*r29 + 291], r22d, r18d 238 239# CHECK: cmpsxadd qword ptr [r28 + 4*r29 + 291], r23, r19 240# CHECK: encoding: [0x62,0x8a,0xe1,0x00,0xe8,0xbc,0xac,0x23,0x01,0x00,0x00] 241 cmpsxadd qword ptr [r28 + 4*r29 + 291], r23, r19 242