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