1# RUN: llvm-mc -triple x86_64 -show-encoding -x86-asm-syntax=intel -output-asm-variant=1 %s | FileCheck %s 2 3# CHECK: cmovb r9w, ax, dx 4# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x42,0xc2] 5 cmovb r9w, ax, dx 6# CHECK: cmovb r10d, edx, ecx 7# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x42,0xd1] 8 cmovb r10d, edx, ecx 9# CHECK: cmovb r11, r15, r9 10# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x42,0xf9] 11 cmovb r11, r15, r9 12# CHECK: cmovb ax, dx, word ptr [r8 + 4*rax + 123] 13# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x42,0x54,0x80,0x7b] 14 cmovb ax, dx, word ptr [r8 + 4*rax + 123] 15# CHECK: cmovb edx, ecx, dword ptr [r8 + 4*rax + 123] 16# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x42,0x4c,0x80,0x7b] 17 cmovb edx, ecx, dword ptr [r8 + 4*rax + 123] 18# CHECK: cmovb r15, r9, qword ptr [r8 + 4*rax + 123] 19# CHECK: encoding: [0x62,0x54,0x84,0x18,0x42,0x4c,0x80,0x7b] 20 cmovb r15, r9, qword ptr [r8 + 4*rax + 123] 21# CHECK: cmovbe r9w, ax, dx 22# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x46,0xc2] 23 cmovbe r9w, ax, dx 24# CHECK: cmovbe r10d, edx, ecx 25# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x46,0xd1] 26 cmovbe r10d, edx, ecx 27# CHECK: cmovbe r11, r15, r9 28# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x46,0xf9] 29 cmovbe r11, r15, r9 30# CHECK: cmovbe ax, dx, word ptr [r8 + 4*rax + 123] 31# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x46,0x54,0x80,0x7b] 32 cmovbe ax, dx, word ptr [r8 + 4*rax + 123] 33# CHECK: cmovbe edx, ecx, dword ptr [r8 + 4*rax + 123] 34# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x46,0x4c,0x80,0x7b] 35 cmovbe edx, ecx, dword ptr [r8 + 4*rax + 123] 36# CHECK: cmovbe r15, r9, qword ptr [r8 + 4*rax + 123] 37# CHECK: encoding: [0x62,0x54,0x84,0x18,0x46,0x4c,0x80,0x7b] 38 cmovbe r15, r9, qword ptr [r8 + 4*rax + 123] 39# CHECK: cmovl r9w, ax, dx 40# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x4c,0xc2] 41 cmovl r9w, ax, dx 42# CHECK: cmovl r10d, edx, ecx 43# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x4c,0xd1] 44 cmovl r10d, edx, ecx 45# CHECK: cmovl r11, r15, r9 46# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x4c,0xf9] 47 cmovl r11, r15, r9 48# CHECK: cmovl ax, dx, word ptr [r8 + 4*rax + 123] 49# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x4c,0x54,0x80,0x7b] 50 cmovl ax, dx, word ptr [r8 + 4*rax + 123] 51# CHECK: cmovl edx, ecx, dword ptr [r8 + 4*rax + 123] 52# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x4c,0x4c,0x80,0x7b] 53 cmovl edx, ecx, dword ptr [r8 + 4*rax + 123] 54# CHECK: cmovl r15, r9, qword ptr [r8 + 4*rax + 123] 55# CHECK: encoding: [0x62,0x54,0x84,0x18,0x4c,0x4c,0x80,0x7b] 56 cmovl r15, r9, qword ptr [r8 + 4*rax + 123] 57# CHECK: cmovle r9w, ax, dx 58# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x4e,0xc2] 59 cmovle r9w, ax, dx 60# CHECK: cmovle r10d, edx, ecx 61# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x4e,0xd1] 62 cmovle r10d, edx, ecx 63# CHECK: cmovle r11, r15, r9 64# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x4e,0xf9] 65 cmovle r11, r15, r9 66# CHECK: cmovle ax, dx, word ptr [r8 + 4*rax + 123] 67# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x4e,0x54,0x80,0x7b] 68 cmovle ax, dx, word ptr [r8 + 4*rax + 123] 69# CHECK: cmovle edx, ecx, dword ptr [r8 + 4*rax + 123] 70# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x4e,0x4c,0x80,0x7b] 71 cmovle edx, ecx, dword ptr [r8 + 4*rax + 123] 72# CHECK: cmovle r15, r9, qword ptr [r8 + 4*rax + 123] 73# CHECK: encoding: [0x62,0x54,0x84,0x18,0x4e,0x4c,0x80,0x7b] 74 cmovle r15, r9, qword ptr [r8 + 4*rax + 123] 75# CHECK: cmovae r9w, ax, dx 76# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x43,0xc2] 77 cmovae r9w, ax, dx 78# CHECK: cmovae r10d, edx, ecx 79# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x43,0xd1] 80 cmovae r10d, edx, ecx 81# CHECK: cmovae r11, r15, r9 82# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x43,0xf9] 83 cmovae r11, r15, r9 84# CHECK: cmovae ax, dx, word ptr [r8 + 4*rax + 123] 85# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x43,0x54,0x80,0x7b] 86 cmovae ax, dx, word ptr [r8 + 4*rax + 123] 87# CHECK: cmovae edx, ecx, dword ptr [r8 + 4*rax + 123] 88# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x43,0x4c,0x80,0x7b] 89 cmovae edx, ecx, dword ptr [r8 + 4*rax + 123] 90# CHECK: cmovae r15, r9, qword ptr [r8 + 4*rax + 123] 91# CHECK: encoding: [0x62,0x54,0x84,0x18,0x43,0x4c,0x80,0x7b] 92 cmovae r15, r9, qword ptr [r8 + 4*rax + 123] 93# CHECK: cmova r9w, ax, dx 94# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x47,0xc2] 95 cmova r9w, ax, dx 96# CHECK: cmova r10d, edx, ecx 97# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x47,0xd1] 98 cmova r10d, edx, ecx 99# CHECK: cmova r11, r15, r9 100# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x47,0xf9] 101 cmova r11, r15, r9 102# CHECK: cmova ax, dx, word ptr [r8 + 4*rax + 123] 103# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x47,0x54,0x80,0x7b] 104 cmova ax, dx, word ptr [r8 + 4*rax + 123] 105# CHECK: cmova edx, ecx, dword ptr [r8 + 4*rax + 123] 106# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x47,0x4c,0x80,0x7b] 107 cmova edx, ecx, dword ptr [r8 + 4*rax + 123] 108# CHECK: cmova r15, r9, qword ptr [r8 + 4*rax + 123] 109# CHECK: encoding: [0x62,0x54,0x84,0x18,0x47,0x4c,0x80,0x7b] 110 cmova r15, r9, qword ptr [r8 + 4*rax + 123] 111# CHECK: cmovge r9w, ax, dx 112# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x4d,0xc2] 113 cmovge r9w, ax, dx 114# CHECK: cmovge r10d, edx, ecx 115# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x4d,0xd1] 116 cmovge r10d, edx, ecx 117# CHECK: cmovge r11, r15, r9 118# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x4d,0xf9] 119 cmovge r11, r15, r9 120# CHECK: cmovge ax, dx, word ptr [r8 + 4*rax + 123] 121# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x4d,0x54,0x80,0x7b] 122 cmovge ax, dx, word ptr [r8 + 4*rax + 123] 123# CHECK: cmovge edx, ecx, dword ptr [r8 + 4*rax + 123] 124# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x4d,0x4c,0x80,0x7b] 125 cmovge edx, ecx, dword ptr [r8 + 4*rax + 123] 126# CHECK: cmovge r15, r9, qword ptr [r8 + 4*rax + 123] 127# CHECK: encoding: [0x62,0x54,0x84,0x18,0x4d,0x4c,0x80,0x7b] 128 cmovge r15, r9, qword ptr [r8 + 4*rax + 123] 129# CHECK: cmovg r9w, ax, dx 130# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x4f,0xc2] 131 cmovg r9w, ax, dx 132# CHECK: cmovg r10d, edx, ecx 133# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x4f,0xd1] 134 cmovg r10d, edx, ecx 135# CHECK: cmovg r11, r15, r9 136# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x4f,0xf9] 137 cmovg r11, r15, r9 138# CHECK: cmovg ax, dx, word ptr [r8 + 4*rax + 123] 139# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x4f,0x54,0x80,0x7b] 140 cmovg ax, dx, word ptr [r8 + 4*rax + 123] 141# CHECK: cmovg edx, ecx, dword ptr [r8 + 4*rax + 123] 142# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x4f,0x4c,0x80,0x7b] 143 cmovg edx, ecx, dword ptr [r8 + 4*rax + 123] 144# CHECK: cmovg r15, r9, qword ptr [r8 + 4*rax + 123] 145# CHECK: encoding: [0x62,0x54,0x84,0x18,0x4f,0x4c,0x80,0x7b] 146 cmovg r15, r9, qword ptr [r8 + 4*rax + 123] 147# CHECK: cmovno r9w, ax, dx 148# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x41,0xc2] 149 cmovno r9w, ax, dx 150# CHECK: cmovno r10d, edx, ecx 151# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x41,0xd1] 152 cmovno r10d, edx, ecx 153# CHECK: cmovno r11, r15, r9 154# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x41,0xf9] 155 cmovno r11, r15, r9 156# CHECK: cmovno ax, dx, word ptr [r8 + 4*rax + 123] 157# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x41,0x54,0x80,0x7b] 158 cmovno ax, dx, word ptr [r8 + 4*rax + 123] 159# CHECK: cmovno edx, ecx, dword ptr [r8 + 4*rax + 123] 160# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x41,0x4c,0x80,0x7b] 161 cmovno edx, ecx, dword ptr [r8 + 4*rax + 123] 162# CHECK: cmovno r15, r9, qword ptr [r8 + 4*rax + 123] 163# CHECK: encoding: [0x62,0x54,0x84,0x18,0x41,0x4c,0x80,0x7b] 164 cmovno r15, r9, qword ptr [r8 + 4*rax + 123] 165# CHECK: cmovnp r9w, ax, dx 166# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x4b,0xc2] 167 cmovnp r9w, ax, dx 168# CHECK: cmovnp r10d, edx, ecx 169# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x4b,0xd1] 170 cmovnp r10d, edx, ecx 171# CHECK: cmovnp r11, r15, r9 172# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x4b,0xf9] 173 cmovnp r11, r15, r9 174# CHECK: cmovnp ax, dx, word ptr [r8 + 4*rax + 123] 175# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x4b,0x54,0x80,0x7b] 176 cmovnp ax, dx, word ptr [r8 + 4*rax + 123] 177# CHECK: cmovnp edx, ecx, dword ptr [r8 + 4*rax + 123] 178# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x4b,0x4c,0x80,0x7b] 179 cmovnp edx, ecx, dword ptr [r8 + 4*rax + 123] 180# CHECK: cmovnp r15, r9, qword ptr [r8 + 4*rax + 123] 181# CHECK: encoding: [0x62,0x54,0x84,0x18,0x4b,0x4c,0x80,0x7b] 182 cmovnp r15, r9, qword ptr [r8 + 4*rax + 123] 183# CHECK: cmovns r9w, ax, dx 184# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x49,0xc2] 185 cmovns r9w, ax, dx 186# CHECK: cmovns r10d, edx, ecx 187# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x49,0xd1] 188 cmovns r10d, edx, ecx 189# CHECK: cmovns r11, r15, r9 190# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x49,0xf9] 191 cmovns r11, r15, r9 192# CHECK: cmovns ax, dx, word ptr [r8 + 4*rax + 123] 193# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x49,0x54,0x80,0x7b] 194 cmovns ax, dx, word ptr [r8 + 4*rax + 123] 195# CHECK: cmovns edx, ecx, dword ptr [r8 + 4*rax + 123] 196# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x49,0x4c,0x80,0x7b] 197 cmovns edx, ecx, dword ptr [r8 + 4*rax + 123] 198# CHECK: cmovns r15, r9, qword ptr [r8 + 4*rax + 123] 199# CHECK: encoding: [0x62,0x54,0x84,0x18,0x49,0x4c,0x80,0x7b] 200 cmovns r15, r9, qword ptr [r8 + 4*rax + 123] 201# CHECK: cmovne r9w, ax, dx 202# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x45,0xc2] 203 cmovne r9w, ax, dx 204# CHECK: cmovne r10d, edx, ecx 205# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x45,0xd1] 206 cmovne r10d, edx, ecx 207# CHECK: cmovne r11, r15, r9 208# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x45,0xf9] 209 cmovne r11, r15, r9 210# CHECK: cmovne ax, dx, word ptr [r8 + 4*rax + 123] 211# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x45,0x54,0x80,0x7b] 212 cmovne ax, dx, word ptr [r8 + 4*rax + 123] 213# CHECK: cmovne edx, ecx, dword ptr [r8 + 4*rax + 123] 214# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x45,0x4c,0x80,0x7b] 215 cmovne edx, ecx, dword ptr [r8 + 4*rax + 123] 216# CHECK: cmovne r15, r9, qword ptr [r8 + 4*rax + 123] 217# CHECK: encoding: [0x62,0x54,0x84,0x18,0x45,0x4c,0x80,0x7b] 218 cmovne r15, r9, qword ptr [r8 + 4*rax + 123] 219# CHECK: cmovo r9w, ax, dx 220# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x40,0xc2] 221 cmovo r9w, ax, dx 222# CHECK: cmovo r10d, edx, ecx 223# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x40,0xd1] 224 cmovo r10d, edx, ecx 225# CHECK: cmovo r11, r15, r9 226# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x40,0xf9] 227 cmovo r11, r15, r9 228# CHECK: cmovo ax, dx, word ptr [r8 + 4*rax + 123] 229# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x40,0x54,0x80,0x7b] 230 cmovo ax, dx, word ptr [r8 + 4*rax + 123] 231# CHECK: cmovo edx, ecx, dword ptr [r8 + 4*rax + 123] 232# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x40,0x4c,0x80,0x7b] 233 cmovo edx, ecx, dword ptr [r8 + 4*rax + 123] 234# CHECK: cmovo r15, r9, qword ptr [r8 + 4*rax + 123] 235# CHECK: encoding: [0x62,0x54,0x84,0x18,0x40,0x4c,0x80,0x7b] 236 cmovo r15, r9, qword ptr [r8 + 4*rax + 123] 237# CHECK: cmovp r9w, ax, dx 238# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x4a,0xc2] 239 cmovp r9w, ax, dx 240# CHECK: cmovp r10d, edx, ecx 241# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x4a,0xd1] 242 cmovp r10d, edx, ecx 243# CHECK: cmovp r11, r15, r9 244# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x4a,0xf9] 245 cmovp r11, r15, r9 246# CHECK: cmovp ax, dx, word ptr [r8 + 4*rax + 123] 247# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x4a,0x54,0x80,0x7b] 248 cmovp ax, dx, word ptr [r8 + 4*rax + 123] 249# CHECK: cmovp edx, ecx, dword ptr [r8 + 4*rax + 123] 250# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x4a,0x4c,0x80,0x7b] 251 cmovp edx, ecx, dword ptr [r8 + 4*rax + 123] 252# CHECK: cmovp r15, r9, qword ptr [r8 + 4*rax + 123] 253# CHECK: encoding: [0x62,0x54,0x84,0x18,0x4a,0x4c,0x80,0x7b] 254 cmovp r15, r9, qword ptr [r8 + 4*rax + 123] 255# CHECK: cmovs r9w, ax, dx 256# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x48,0xc2] 257 cmovs r9w, ax, dx 258# CHECK: cmovs r10d, edx, ecx 259# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x48,0xd1] 260 cmovs r10d, edx, ecx 261# CHECK: cmovs r11, r15, r9 262# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x48,0xf9] 263 cmovs r11, r15, r9 264# CHECK: cmovs ax, dx, word ptr [r8 + 4*rax + 123] 265# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x48,0x54,0x80,0x7b] 266 cmovs ax, dx, word ptr [r8 + 4*rax + 123] 267# CHECK: cmovs edx, ecx, dword ptr [r8 + 4*rax + 123] 268# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x48,0x4c,0x80,0x7b] 269 cmovs edx, ecx, dword ptr [r8 + 4*rax + 123] 270# CHECK: cmovs r15, r9, qword ptr [r8 + 4*rax + 123] 271# CHECK: encoding: [0x62,0x54,0x84,0x18,0x48,0x4c,0x80,0x7b] 272 cmovs r15, r9, qword ptr [r8 + 4*rax + 123] 273# CHECK: cmove r9w, ax, dx 274# CHECK: encoding: [0x62,0xf4,0x35,0x18,0x44,0xc2] 275 cmove r9w, ax, dx 276# CHECK: cmove r10d, edx, ecx 277# CHECK: encoding: [0x62,0xf4,0x2c,0x18,0x44,0xd1] 278 cmove r10d, edx, ecx 279# CHECK: cmove r11, r15, r9 280# CHECK: encoding: [0x62,0x54,0xa4,0x18,0x44,0xf9] 281 cmove r11, r15, r9 282# CHECK: cmove ax, dx, word ptr [r8 + 4*rax + 123] 283# CHECK: encoding: [0x62,0xd4,0x7d,0x18,0x44,0x54,0x80,0x7b] 284 cmove ax, dx, word ptr [r8 + 4*rax + 123] 285# CHECK: cmove edx, ecx, dword ptr [r8 + 4*rax + 123] 286# CHECK: encoding: [0x62,0xd4,0x6c,0x18,0x44,0x4c,0x80,0x7b] 287 cmove edx, ecx, dword ptr [r8 + 4*rax + 123] 288# CHECK: cmove r15, r9, qword ptr [r8 + 4*rax + 123] 289# CHECK: encoding: [0x62,0x54,0x84,0x18,0x44,0x4c,0x80,0x7b] 290 cmove r15, r9, qword ptr [r8 + 4*rax + 123] 291