649 lines · plain
1// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s2 3//////////////////////////4// 2 operand instructions5/////////////////////////6 7// vphsubwd8// CHECK: vphsubwd (%rcx,%rax), %xmm19// CHECK: encoding: [0x8f,0xe9,0x78,0xe2,0x0c,0x01]10 vphsubwd (%rcx,%rax), %xmm111// CHECK: vphsubwd %xmm0, %xmm112// CHECK: encoding: [0x8f,0xe9,0x78,0xe2,0xc8]13 vphsubwd %xmm0, %xmm114 15// vphsubdq16// CHECK: vphsubdq (%rcx,%rax), %xmm117// CHECK: encoding: [0x8f,0xe9,0x78,0xe3,0x0c,0x01] 18 vphsubdq (%rcx,%rax), %xmm119// CHECK: vphsubdq %xmm0, %xmm120// CHECK: encoding: [0x8f,0xe9,0x78,0xe3,0xc8]21 vphsubdq %xmm0, %xmm122 23// vphsubbw24// CHECK: vphsubbw (%rax), %xmm125// CHECK: encoding: [0x8f,0xe9,0x78,0xe1,0x08]26 vphsubbw (%rax), %xmm127// CHECK: vphsubbw %xmm2, %xmm128// CHECK: encoding: [0x8f,0xe9,0x78,0xe1,0xca]29 vphsubbw %xmm2, %xmm130 31// vphaddwq32// CHECK: vphaddwq (%rcx), %xmm433// CHECK: encoding: [0x8f,0xe9,0x78,0xc7,0x21]34 vphaddwq (%rcx), %xmm435// CHECK: vphaddwq %xmm6, %xmm236// CHECK: encoding: [0x8f,0xe9,0x78,0xc7,0xd6]37 vphaddwq %xmm6, %xmm238 39// vphaddwd40// CHECK: vphaddwd (%rdx,%rax), %xmm741// CHECK: encoding: [0x8f,0xe9,0x78,0xc6,0x3c,0x02]42 vphaddwd (%rdx,%rax), %xmm743// CHECK: vphaddwd %xmm3, %xmm444// CHECK: encoding: [0x8f,0xe9,0x78,0xc6,0xe3]45 vphaddwd %xmm3, %xmm446 47// vphadduwq48// CHECK: vphadduwq (%rcx,%rax), %xmm649// CHECK: encoding: [0x8f,0xe9,0x78,0xd7,0x34,0x01]50 vphadduwq (%rcx,%rax), %xmm651// CHECK: vphadduwq %xmm7, %xmm052// CHECK: encoding: [0x8f,0xe9,0x78,0xd7,0xc7]53 vphadduwq %xmm7, %xmm054 55// vphadduwd56// CHECK: vphadduwd (%rax), %xmm557// CHECK: encoding: [0x8f,0xe9,0x78,0xd6,0x28]58 vphadduwd (%rax), %xmm559// CHECK: vphadduwd %xmm2, %xmm160// CHECK: encoding: [0x8f,0xe9,0x78,0xd6,0xca]61 vphadduwd %xmm2, %xmm162 63// vphaddudq64// CHECK: vphaddudq 8(%rcx,%rax), %xmm465// CHECK: encoding: [0x8f,0xe9,0x78,0xdb,0x64,0x01,0x08]66 vphaddudq 8(%rcx,%rax), %xmm467// CHECK: vphaddudq %xmm6, %xmm268// CHECK: encoding: [0x8f,0xe9,0x78,0xdb,0xd6]69 vphaddudq %xmm6, %xmm270 71// vphaddubw72// CHECK: vphaddubw (%rcx), %xmm373// CHECK: encoding: [0x8f,0xe9,0x78,0xd1,0x19]74 vphaddubw (%rcx), %xmm375// CHECK: vphaddubw %xmm5, %xmm076// CHECK: encoding: [0x8f,0xe9,0x78,0xd1,0xc5]77 vphaddubw %xmm5, %xmm078 79// vphaddubq80// CHECK: vphaddubq (%rcx), %xmm481// CHECK: encoding: [0x8f,0xe9,0x78,0xd3,0x21]82 vphaddubq (%rcx), %xmm483// CHECK: vphaddubq %xmm2, %xmm284// CHECK: encoding: [0x8f,0xe9,0x78,0xd3,0xd2]85 vphaddubq %xmm2, %xmm286 87// vphaddubd88// CHECK: vphaddubd (%rax), %xmm589// CHECK: encoding: [0x8f,0xe9,0x78,0xd2,0x28]90 vphaddubd (%rax), %xmm591// CHECK: vphaddubd %xmm5, %xmm792// CHECK: encoding: [0x8f,0xe9,0x78,0xd2,0xfd]93 vphaddubd %xmm5, %xmm794 95// vphadddq96// CHECK: vphadddq (%rdx), %xmm497// CHECK: encoding: [0x8f,0xe9,0x78,0xcb,0x22]98 vphadddq (%rdx), %xmm499// CHECK: vphadddq %xmm4, %xmm5100// CHECK: encoding: [0x8f,0xe9,0x78,0xcb,0xec]101 vphadddq %xmm4, %xmm5102 103// vphaddbw104// CHECK: vphaddbw (%rcx,%rax), %xmm1105// CHECK: encoding: [0x8f,0xe9,0x78,0xc1,0x0c,0x01]106 vphaddbw (%rcx,%rax), %xmm1107// CHECK: vphaddbw %xmm5, %xmm6108// CHECK: encoding: [0x8f,0xe9,0x78,0xc1,0xf5]109 vphaddbw %xmm5, %xmm6110 111// vphaddbq112// CHECK: vphaddbq (%rcx,%rax), %xmm1113// CHECK: encoding: [0x8f,0xe9,0x78,0xc3,0x0c,0x01]114 vphaddbq (%rcx,%rax), %xmm1115// CHECK: vphaddbq %xmm2, %xmm0116// CHECK: encoding: [0x8f,0xe9,0x78,0xc3,0xc2]117 vphaddbq %xmm2, %xmm0118 119// vphaddbd120// CHECK: vphaddbd (%rcx,%rax), %xmm1121// CHECK: encoding: [0x8f,0xe9,0x78,0xc2,0x0c,0x01]122 vphaddbd (%rcx,%rax), %xmm1123// CHECK: vphaddbd %xmm1, %xmm3124// CHECK: encoding: [0x8f,0xe9,0x78,0xc2,0xd9]125 vphaddbd %xmm1, %xmm3126 127// vfrczss128// CHECK: vfrczss (%rcx,%rax), %xmm1129// CHECK: encoding: [0x8f,0xe9,0x78,0x82,0x0c,0x01]130 vfrczss (%rcx,%rax), %xmm1131// CHECK: vfrczss %xmm5, %xmm7132// CHECK: encoding: [0x8f,0xe9,0x78,0x82,0xfd]133 vfrczss %xmm5, %xmm7134 135// vfrczsd136// CHECK: vfrczsd (%rcx,%rax), %xmm1137// CHECK: encoding: [0x8f,0xe9,0x78,0x83,0x0c,0x01]138 vfrczsd (%rcx,%rax), %xmm1139// CHECK: vfrczsd %xmm7, %xmm0140// CHECK: encoding: [0x8f,0xe9,0x78,0x83,0xc7]141 vfrczsd %xmm7, %xmm0142 143// vfrczps144// CHECK: vfrczps 4(%rax), %xmm3145// CHECK: encoding: [0x8f,0xe9,0x78,0x80,0x58,0x04]146 vfrczps 4(%rax), %xmm3147// CHECK: vfrczps %xmm6, %xmm5148// CHECK: encoding: [0x8f,0xe9,0x78,0x80,0xee]149 vfrczps %xmm6, %xmm5150// CHECK: vfrczps (%rcx), %xmm1151// CHECK: encoding: [0x8f,0xe9,0x78,0x80,0x09]152 vfrczps (%rcx), %xmm1153// CHECK: vfrczps %ymm2, %ymm4154// CHECK: encoding: [0x8f,0xe9,0x7c,0x80,0xe2]155 vfrczps %ymm2, %ymm4156 157// vfrczpd158// CHECK: vfrczpd (%rcx,%rax), %xmm1159// CHECK: encoding: [0x8f,0xe9,0x78,0x81,0x0c,0x01]160 vfrczpd (%rcx,%rax), %xmm1161// CHECK: vfrczpd %xmm7, %xmm0162// CHECK: encoding: [0x8f,0xe9,0x78,0x81,0xc7]163 vfrczpd %xmm7, %xmm0164// CHECK: vfrczpd (%rcx,%rax), %ymm2165// CHECK: encoding: [0x8f,0xe9,0x7c,0x81,0x14,0x01]166 vfrczpd (%rcx,%rax), %ymm2167// CHECK: vfrczpd %ymm5, %ymm3168// CHECK: encoding: [0x8f,0xe9,0x7c,0x81,0xdd]169 vfrczpd %ymm5, %ymm3170 171 172 173//////////////////////////174// 3 operand instructions175/////////////////////////176 177// vpshlw178// CHECK: vpshlw %xmm0, %xmm1, %xmm2179// CHECK: encoding: [0x8f,0xe9,0x78,0x95,0xd1]180 vpshlw %xmm0, %xmm1, %xmm2181// CHECK: vpshlw (%rax), %xmm1, %xmm2182// CHECK: encoding: [0x8f,0xe9,0xf0,0x95,0x10]183 vpshlw (%rax), %xmm1, %xmm2184// CHECK: vpshlw %xmm0, (%rax,%rcx), %xmm2185// CHECK: encoding: [0x8f,0xe9,0x78,0x95,0x14,0x08]186 vpshlw %xmm0, (%rax,%rcx), %xmm2187 188// vpshlq189// CHECK: vpshlq %xmm2, %xmm4, %xmm6190// CHECK: encoding: [0x8f,0xe9,0x68,0x97,0xf4]191 vpshlq %xmm2, %xmm4, %xmm6192// CHECK: vpshlq (%rcx), %xmm2, %xmm1193// CHECK: encoding: [0x8f,0xe9,0xe8,0x97,0x09]194 vpshlq (%rcx), %xmm2, %xmm1195// CHECK: vpshlq %xmm5, (%rdx,%rcx), %xmm6196// CHECK: encoding: [0x8f,0xe9,0x50,0x97,0x34,0x0a]197 vpshlq %xmm5, (%rdx,%rcx), %xmm6198 199// vpshld200// CHECK: vpshld %xmm7, %xmm5, %xmm3201// CHECK: encoding: [0x8f,0xe9,0x40,0x96,0xdd]202 vpshld %xmm7, %xmm5, %xmm3203// CHECK: vpshld 4(%rax), %xmm3, %xmm3204// CHECK: encoding: [0x8f,0xe9,0xe0,0x96,0x58,0x04]205 vpshld 4(%rax), %xmm3, %xmm3206// CHECK: vpshld %xmm1, (%rax,%rcx), %xmm5207// CHECK: encoding: [0x8f,0xe9,0x70,0x96,0x2c,0x08]208 vpshld %xmm1, (%rax,%rcx), %xmm5209 210// vpshlb211// CHECK: vpshlb %xmm1, %xmm2, %xmm3212// CHECK: encoding: [0x8f,0xe9,0x70,0x94,0xda]213 vpshlb %xmm1, %xmm2, %xmm3214// CHECK: vpshlb (%rcx), %xmm0, %xmm7215// CHECK: encoding: [0x8f,0xe9,0xf8,0x94,0x39]216 vpshlb (%rcx), %xmm0, %xmm7217// CHECK: vpshlb %xmm2, (%rax,%rdx), %xmm3218// CHECK: encoding: [0x8f,0xe9,0x68,0x94,0x1c,0x10]219 vpshlb %xmm2, (%rax,%rdx), %xmm3220 221// vpshaw222// CHECK: vpshaw %xmm7, %xmm5, %xmm3223// CHECK: encoding: [0x8f,0xe9,0x40,0x99,0xdd]224 vpshaw %xmm7, %xmm5, %xmm3225// CHECK: vpshaw (%rax), %xmm2, %xmm1226// CHECK: encoding: [0x8f,0xe9,0xe8,0x99,0x08]227 vpshaw (%rax), %xmm2, %xmm1228// CHECK: vpshaw %xmm0, 8(%rax,%rcx), %xmm3229// CHECK: encoding: [0x8f,0xe9,0x78,0x99,0x5c,0x08,0x08]230 vpshaw %xmm0, 8(%rax,%rcx), %xmm3231 232// vpshaq233// CHECK: vpshaq %xmm4, %xmm4, %xmm4234// CHECK: encoding: [0x8f,0xe9,0x58,0x9b,0xe4]235 vpshaq %xmm4, %xmm4, %xmm4236// CHECK: vpshaq (%rcx), %xmm2, %xmm0237// CHECK: encoding: [0x8f,0xe9,0xe8,0x9b,0x01]238 vpshaq (%rcx), %xmm2, %xmm0239// CHECK: vpshaq %xmm6, (%rax,%rcx), %xmm5240// CHECK: encoding: [0x8f,0xe9,0x48,0x9b,0x2c,0x08]241 vpshaq %xmm6, (%rax,%rcx), %xmm5242 243// vpshad244// CHECK: vpshad %xmm5, %xmm4, %xmm0245// CHECK: encoding: [0x8f,0xe9,0x50,0x9a,0xc4]246 vpshad %xmm5, %xmm4, %xmm0247// CHECK: vpshad (%rax), %xmm2, %xmm5248// CHECK: encoding: [0x8f,0xe9,0xe8,0x9a,0x28]249 vpshad (%rax), %xmm2, %xmm5250// CHECK: vpshad %xmm2, (%rax), %xmm5251// CHECK: encoding: [0x8f,0xe9,0x68,0x9a,0x28]252 vpshad %xmm2, (%rax), %xmm5253 254// vpshab255// CHECK: vpshab %xmm1, %xmm1, %xmm0256// CHECK: encoding: [0x8f,0xe9,0x70,0x98,0xc1]257 vpshab %xmm1, %xmm1, %xmm0258// CHECK: vpshab (%rcx), %xmm4, %xmm0259// CHECK: encoding: [0x8f,0xe9,0xd8,0x98,0x01]260 vpshab (%rcx), %xmm4, %xmm0261// CHECK: vpshab %xmm5, (%rcx), %xmm3262// CHECK: encoding: [0x8f,0xe9,0x50,0x98,0x19]263 vpshab %xmm5, (%rcx), %xmm3264 265// vprotw266// CHECK: vprotw (%rax), %xmm3, %xmm6267// CHECK: encoding: [0x8f,0xe9,0xe0,0x91,0x30]268 vprotw (%rax), %xmm3, %xmm6269// CHECK: vprotw %xmm5, (%rax,%rcx), %xmm1270// CHECK: encoding: [0x8f,0xe9,0x50,0x91,0x0c,0x08]271 vprotw %xmm5, (%rax,%rcx), %xmm1272// CHECK: vprotw %xmm0, %xmm1, %xmm2273// CHECK: encoding: [0x8f,0xe9,0x78,0x91,0xd1]274 vprotw %xmm0, %xmm1, %xmm2275// CHECK: vprotw $42, (%rcx), %xmm1276// CHECK: encoding: [0x8f,0xe8,0x78,0xc1,0x09,0x2a]277 vprotw $42, (%rcx), %xmm1278// CHECK: vprotw $41, (%rax), %xmm4279// CHECK: encoding: [0x8f,0xe8,0x78,0xc1,0x20,0x29]280 vprotw $41, (%rax), %xmm4281// CHECK: vprotw $40, %xmm1, %xmm3282// CHECK: encoding: [0x8f,0xe8,0x78,0xc1,0xd9,0x28]283 vprotw $40, %xmm1, %xmm3284 285// vprotq286// CHECK: vprotq (%rax), %xmm1, %xmm2287// CHECK: encoding: [0x8f,0xe9,0xf0,0x93,0x10]288 vprotq (%rax), %xmm1, %xmm2289// CHECK: vprotq (%rax,%rcx), %xmm1, %xmm2290// CHECK: encoding: [0x8f,0xe9,0xf0,0x93,0x14,0x08]291 vprotq (%rax,%rcx), %xmm1, %xmm2292// CHECK: vprotq %xmm0, %xmm1, %xmm2293// CHECK: encoding: [0x8f,0xe9,0x78,0x93,0xd1]294 vprotq %xmm0, %xmm1, %xmm2295// CHECK: vprotq $42, (%rax), %xmm2296// CHECK: encoding: [0x8f,0xe8,0x78,0xc3,0x10,0x2a]297 vprotq $42, (%rax), %xmm2298// CHECK: vprotq $42, (%rax,%rcx), %xmm2299// CHECK: encoding: [0x8f,0xe8,0x78,0xc3,0x14,0x08,0x2a]300 vprotq $42, (%rax,%rcx), %xmm2301// CHECK: vprotq $42, %xmm1, %xmm2302// CHECK: encoding: [0x8f,0xe8,0x78,0xc3,0xd1,0x2a]303 vprotq $42, %xmm1, %xmm2304 305// vprotd306// CHECK: vprotd (%rax), %xmm0, %xmm3307// CHECK: encoding: [0x8f,0xe9,0xf8,0x92,0x18]308 vprotd (%rax), %xmm0, %xmm3309// CHECK: vprotd %xmm2, (%rax,%rcx), %xmm4310// CHECK: encoding: [0x8f,0xe9,0x68,0x92,0x24,0x08]311 vprotd %xmm2, (%rax,%rcx), %xmm4312// CHECK: vprotd %xmm5, %xmm3, %xmm2313// CHECK: encoding: [0x8f,0xe9,0x50,0x92,0xd3]314 vprotd %xmm5, %xmm3, %xmm2315// CHECK: vprotd $43, (%rcx), %xmm6316// CHECK: encoding: [0x8f,0xe8,0x78,0xc2,0x31,0x2b]317 vprotd $43, (%rcx), %xmm6318// CHECK: vprotd $44, (%rax,%rcx), %xmm7319// CHECK: encoding: [0x8f,0xe8,0x78,0xc2,0x3c,0x08,0x2c]320 vprotd $44, (%rax,%rcx), %xmm7321// CHECK: vprotd $45, %xmm4, %xmm4322// CHECK: encoding: [0x8f,0xe8,0x78,0xc2,0xe4,0x2d]323 vprotd $45, %xmm4, %xmm4324 325// vprotb326// CHECK: vprotb (%rcx), %xmm2, %xmm5327// CHECK: encoding: [0x8f,0xe9,0xe8,0x90,0x29]328 vprotb (%rcx), %xmm2, %xmm5329// CHECK: vprotb %xmm5, (%rax,%rcx), %xmm4330// CHECK: encoding: [0x8f,0xe9,0x50,0x90,0x24,0x08]331 vprotb %xmm5, (%rax,%rcx), %xmm4332// CHECK: vprotb %xmm4, %xmm3, %xmm2333// CHECK: encoding: [0x8f,0xe9,0x58,0x90,0xd3]334 vprotb %xmm4, %xmm3, %xmm2335// CHECK: vprotb $46, (%rax), %xmm3336// CHECK: encoding: [0x8f,0xe8,0x78,0xc0,0x18,0x2e]337 vprotb $46, (%rax), %xmm3338// CHECK: vprotb $47, (%rax,%rcx), %xmm7339// CHECK: encoding: [0x8f,0xe8,0x78,0xc0,0x3c,0x08,0x2f]340 vprotb $47, (%rax,%rcx), %xmm7341// CHECK: vprotb $48, %xmm5, %xmm5342// CHECK: encoding: [0x8f,0xe8,0x78,0xc0,0xed,0x30]343 vprotb $48, %xmm5, %xmm5344 345//////////////////////////346// 4 operand instructions347/////////////////////////348 349// vpmadcswd350// CHECK: vpmadcswd %xmm1, %xmm2, %xmm3, %xmm4351// CHECK: encoding: [0x8f,0xe8,0x60,0xb6,0xe2,0x10]352 vpmadcswd %xmm1, %xmm2, %xmm3, %xmm4353// CHECK: vpmadcswd %xmm1, (%rax), %xmm3, %xmm4 354// CHECK: encoding: [0x8f,0xe8,0x60,0xb6,0x20,0x10]355 vpmadcswd %xmm1, (%rax), %xmm3, %xmm4 356 357// vpmadcsswd358// CHECK: vpmadcsswd %xmm1, %xmm4, %xmm6, %xmm4359// CHECK: encoding: [0x8f,0xe8,0x48,0xa6,0xe4,0x10]360 vpmadcsswd %xmm1, %xmm4, %xmm6, %xmm4361// CHECK: vpmadcsswd %xmm1, (%rax,%rcx), %xmm3, %xmm4 362// CHECK: encoding: [0x8f,0xe8,0x60,0xa6,0x24,0x08,0x10]363 vpmadcsswd %xmm1, (%rax,%rcx), %xmm3, %xmm4 364 365// vpmacsww366// CHECK: vpmacsww %xmm0, %xmm2, %xmm5, %xmm4367// CHECK: encoding: [0x8f,0xe8,0x50,0x95,0xe2,0x00]368 vpmacsww %xmm0, %xmm2, %xmm5, %xmm4369// CHECK: vpmacsww %xmm1, (%rax), %xmm6, %xmm4 370// CHECK: encoding: [0x8f,0xe8,0x48,0x95,0x20,0x10]371 vpmacsww %xmm1, (%rax), %xmm6, %xmm4 372 373// vpmacswd374// CHECK: vpmacswd %xmm4, %xmm5, %xmm6, %xmm7375// CHECK: encoding: [0x8f,0xe8,0x48,0x96,0xfd,0x40]376 vpmacswd %xmm4, %xmm5, %xmm6, %xmm7377// CHECK: vpmacswd %xmm0, (%rax), %xmm1, %xmm2 378// CHECK: encoding: [0x8f,0xe8,0x70,0x96,0x10,0x00]379 vpmacswd %xmm0, (%rax), %xmm1, %xmm2 380 381// vpmacssww382// CHECK: vpmacssww %xmm4, %xmm3, %xmm2, %xmm1383// CHECK: encoding: [0x8f,0xe8,0x68,0x85,0xcb,0x40]384 vpmacssww %xmm4, %xmm3, %xmm2, %xmm1385// CHECK: vpmacssww %xmm6, (%rcx), %xmm7, %xmm7 386// CHECK: encoding: [0x8f,0xe8,0x40,0x85,0x39,0x60]387 vpmacssww %xmm6, (%rcx), %xmm7, %xmm7 388 389// vpmacsswd390// CHECK: vpmacsswd %xmm4, %xmm2, %xmm4, %xmm2391// CHECK: encoding: [0x8f,0xe8,0x58,0x86,0xd2,0x40]392 vpmacsswd %xmm4, %xmm2, %xmm4, %xmm2393// CHECK: vpmacsswd %xmm0, 8(%rax,%rcx), %xmm1, %xmm0 394// CHECK: encoding: [0x8f,0xe8,0x70,0x86,0x44,0x08,0x08,0x00]395 vpmacsswd %xmm0, 8(%rax,%rcx), %xmm1, %xmm0 396 397// vpmacssdql398// CHECK: vpmacssdql %xmm1, %xmm1, %xmm2, %xmm4399// CHECK: encoding: [0x8f,0xe8,0x68,0x87,0xe1,0x10]400 vpmacssdql %xmm1, %xmm1, %xmm2, %xmm4401// CHECK: vpmacssdql %xmm7, (%rcx), %xmm6, %xmm5 402// CHECK: encoding: [0x8f,0xe8,0x48,0x87,0x29,0x70]403 vpmacssdql %xmm7, (%rcx), %xmm6, %xmm5 404 405// vpmacssdqh406// CHECK: vpmacssdqh %xmm3, %xmm2, %xmm0, %xmm1407// CHECK: encoding: [0x8f,0xe8,0x78,0x8f,0xca,0x30]408 vpmacssdqh %xmm3, %xmm2, %xmm0, %xmm1409// CHECK: vpmacssdqh %xmm7, (%rax,%rcx), %xmm2, %xmm3 410// CHECK: encoding: [0x8f,0xe8,0x68,0x8f,0x1c,0x08,0x70]411 vpmacssdqh %xmm7, (%rax,%rcx), %xmm2, %xmm3 412 413// vpmacssdd414// CHECK: vpmacssdd %xmm2, %xmm2, %xmm3, %xmm5415// CHECK: encoding: [0x8f,0xe8,0x60,0x8e,0xea,0x20]416 vpmacssdd %xmm2, %xmm2, %xmm3, %xmm5417// CHECK: vpmacssdd %xmm4, (%rax), %xmm1, %xmm2 418// CHECK: encoding: [0x8f,0xe8,0x70,0x8e,0x10,0x40]419 vpmacssdd %xmm4, (%rax), %xmm1, %xmm2 420 421// vpmacsdql422// CHECK: vpmacsdql %xmm3, %xmm0, %xmm6, %xmm7423// CHECK: encoding: [0x8f,0xe8,0x48,0x97,0xf8,0x30]424 vpmacsdql %xmm3, %xmm0, %xmm6, %xmm7425// CHECK: vpmacsdql %xmm5, 8(%rcx), %xmm3, %xmm5 426// CHECK: encoding: [0x8f,0xe8,0x60,0x97,0x69,0x08,0x50]427 vpmacsdql %xmm5, 8(%rcx), %xmm3, %xmm5 428 429// vpmacsdqh430// CHECK: vpmacsdqh %xmm7, %xmm5, %xmm3, %xmm2431// CHECK: encoding: [0x8f,0xe8,0x60,0x9f,0xd5,0x70]432 vpmacsdqh %xmm7, %xmm5, %xmm3, %xmm2433// CHECK: vpmacsdqh %xmm5, 4(%rax), %xmm2, %xmm0 434// CHECK: encoding: [0x8f,0xe8,0x68,0x9f,0x40,0x04,0x50]435 vpmacsdqh %xmm5, 4(%rax), %xmm2, %xmm0 436 437// vpmacsdd438// CHECK: vpmacsdd %xmm4, %xmm6, %xmm4, %xmm2439// CHECK: encoding: [0x8f,0xe8,0x58,0x9e,0xd6,0x40]440 vpmacsdd %xmm4, %xmm6, %xmm4, %xmm2441// CHECK: vpmacsdd %xmm4, (%rax,%rcx), %xmm4, %xmm3 442// CHECK: encoding: [0x8f,0xe8,0x58,0x9e,0x1c,0x08,0x40]443 vpmacsdd %xmm4, (%rax,%rcx), %xmm4, %xmm3 444 445// vpcomw446// CHECK: vpcomw $42, %xmm2, %xmm3, %xmm4447// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x2a]448 vpcomw $42, %xmm2, %xmm3, %xmm4449// CHECK: vpcomw $42, (%rax), %xmm3, %xmm4450// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0x20,0x2a]451 vpcomw $42, (%rax), %xmm3, %xmm4452 453// vpcomuw454// CHECK: vpcomuw $43, %xmm1, %xmm3, %xmm5455// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe9,0x2b]456 vpcomuw $43, %xmm1, %xmm3, %xmm5457// CHECK: vpcomuw $44, (%rax,%rcx), %xmm0, %xmm6458// CHECK: encoding: [0x8f,0xe8,0x78,0xed,0x34,0x08,0x2c]459 vpcomuw $44, (%rax,%rcx), %xmm0, %xmm6460 461// vpcomuq462// CHECK: vpcomuq $45, %xmm3, %xmm3, %xmm7463// CHECK: encoding: [0x8f,0xe8,0x60,0xef,0xfb,0x2d]464 vpcomuq $45, %xmm3, %xmm3, %xmm7465// CHECK: vpcomuq $46, (%rax), %xmm3, %xmm1466// CHECK: encoding: [0x8f,0xe8,0x60,0xef,0x08,0x2e]467 vpcomuq $46, (%rax), %xmm3, %xmm1468 469// vpcomud470// CHECK: vpcomud $47, %xmm0, %xmm1, %xmm2471// CHECK: encoding: [0x8f,0xe8,0x70,0xee,0xd0,0x2f]472 vpcomud $47, %xmm0, %xmm1, %xmm2473// CHECK: vpcomud $48, 4(%rax), %xmm6, %xmm3474// CHECK: encoding: [0x8f,0xe8,0x48,0xee,0x58,0x04,0x30]475 vpcomud $48, 4(%rax), %xmm6, %xmm3476 477// vpcomub478// CHECK: vpcomub $49, %xmm3, %xmm4, %xmm5479// CHECK: encoding: [0x8f,0xe8,0x58,0xec,0xeb,0x31]480 vpcomub $49, %xmm3, %xmm4, %xmm5481// CHECK: vpcomub $50, (%rcx), %xmm6, %xmm2482// CHECK: encoding: [0x8f,0xe8,0x48,0xec,0x11,0x32]483 vpcomub $50, (%rcx), %xmm6, %xmm2484 485// vpcomq486// CHECK: vpcomq $51, %xmm3, %xmm0, %xmm5487// CHECK: encoding: [0x8f,0xe8,0x78,0xcf,0xeb,0x33]488 vpcomq $51, %xmm3, %xmm0, %xmm5489// CHECK: vpcomq $52, (%rax), %xmm1, %xmm7490// CHECK: encoding: [0x8f,0xe8,0x70,0xcf,0x38,0x34]491 vpcomq $52, (%rax), %xmm1, %xmm7492 493// vpcomd494// CHECK: vpcomd $53, %xmm3, %xmm3, %xmm0495// CHECK: encoding: [0x8f,0xe8,0x60,0xce,0xc3,0x35]496 vpcomd $53, %xmm3, %xmm3, %xmm0497// CHECK: vpcomd $54, (%rcx), %xmm2, %xmm2498// CHECK: encoding: [0x8f,0xe8,0x68,0xce,0x11,0x36]499 vpcomd $54, (%rcx), %xmm2, %xmm2500 501// vpcomb502// CHECK: vpcomb $55, %xmm6, %xmm4, %xmm2503// CHECK: encoding: [0x8f,0xe8,0x58,0xcc,0xd6,0x37]504 vpcomb $55, %xmm6, %xmm4, %xmm2505// CHECK: vpcomb $56, 8(%rax), %xmm3, %xmm2506// CHECK: encoding: [0x8f,0xe8,0x60,0xcc,0x50,0x08,0x38]507 vpcomb $56, 8(%rax), %xmm3, %xmm2508 509// CHECK: vpcomltw %xmm2, %xmm3, %xmm4510// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x00]511 vpcomltw %xmm2, %xmm3, %xmm4512 513// CHECK: vpcomlew %xmm2, %xmm3, %xmm4514// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x01]515 vpcomlew %xmm2, %xmm3, %xmm4516 517// CHECK: vpcomgtw %xmm2, %xmm3, %xmm4518// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x02]519 vpcomgtw %xmm2, %xmm3, %xmm4520 521// CHECK: vpcomgew %xmm2, %xmm3, %xmm4522// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x03]523 vpcomgew %xmm2, %xmm3, %xmm4524 525// CHECK: vpcomeqw %xmm2, %xmm3, %xmm4526// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x04]527 vpcomeqw %xmm2, %xmm3, %xmm4528 529// CHECK: vpcomneqw %xmm2, %xmm3, %xmm4530// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x05]531 vpcomneqw %xmm2, %xmm3, %xmm4532 533// CHECK: vpcomfalsew %xmm2, %xmm3, %xmm4534// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x06]535 vpcomfalsew %xmm2, %xmm3, %xmm4536 537// CHECK: vpcomtruew %xmm2, %xmm3, %xmm4538// CHECK: encoding: [0x8f,0xe8,0x60,0xcd,0xe2,0x07]539 vpcomtruew %xmm2, %xmm3, %xmm4540 541 542// CHECK: vpcomltuw %xmm2, %xmm3, %xmm4543// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x00]544 vpcomltuw %xmm2, %xmm3, %xmm4545 546// CHECK: vpcomleuw %xmm2, %xmm3, %xmm4547// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x01]548 vpcomleuw %xmm2, %xmm3, %xmm4549 550// CHECK: vpcomgtuw %xmm2, %xmm3, %xmm4551// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x02]552 vpcomgtuw %xmm2, %xmm3, %xmm4553 554// CHECK: vpcomgeuw %xmm2, %xmm3, %xmm4555// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x03]556 vpcomgeuw %xmm2, %xmm3, %xmm4557 558// CHECK: vpcomequw %xmm2, %xmm3, %xmm4559// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x04]560 vpcomequw %xmm2, %xmm3, %xmm4561 562// CHECK: vpcomnequw %xmm2, %xmm3, %xmm4563// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x05]564 vpcomnequw %xmm2, %xmm3, %xmm4565 566// CHECK: vpcomfalseuw %xmm2, %xmm3, %xmm4567// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x06]568 vpcomfalseuw %xmm2, %xmm3, %xmm4569 570// CHECK: vpcomtrueuw %xmm2, %xmm3, %xmm4571// CHECK: encoding: [0x8f,0xe8,0x60,0xed,0xe2,0x07]572 vpcomtrueuw %xmm2, %xmm3, %xmm4573 574// vpperm575// CHECK: vpperm %xmm1, %xmm2, %xmm3, %xmm4576// CHECK: encoding: [0x8f,0xe8,0x60,0xa3,0xe2,0x10]577 vpperm %xmm1, %xmm2, %xmm3, %xmm4578// CHECK: vpperm (%rax), %xmm2, %xmm3, %xmm4579// CHECK: encoding: [0x8f,0xe8,0xe0,0xa3,0x20,0x20]580 vpperm (%rax), %xmm2, %xmm3, %xmm4581// CHECK: vpperm %xmm1, (%rax), %xmm3, %xmm4582// CHECK: encoding: [0x8f,0xe8,0x60,0xa3,0x20,0x10]583 vpperm %xmm1, (%rax), %xmm3, %xmm4584 585// vpcmov586// CHECK: vpcmov %xmm1, %xmm2, %xmm3, %xmm4587// CHECK: encoding: [0x8f,0xe8,0x60,0xa2,0xe2,0x10]588 vpcmov %xmm1, %xmm2, %xmm3, %xmm4589// CHECK: vpcmov (%rax), %xmm2, %xmm3, %xmm4590// CHECK: encoding: [0x8f,0xe8,0xe0,0xa2,0x20,0x20]591 vpcmov (%rax), %xmm2, %xmm3, %xmm4592// CHECK: vpcmov %xmm1, (%rax), %xmm3, %xmm4593// CHECK: encoding: [0x8f,0xe8,0x60,0xa2,0x20,0x10]594 vpcmov %xmm1, (%rax), %xmm3, %xmm4595// CHECK: vpcmov %ymm1, %ymm2, %ymm3, %ymm4596// CHECK: encoding: [0x8f,0xe8,0x64,0xa2,0xe2,0x10]597 vpcmov %ymm1, %ymm2, %ymm3, %ymm4598// CHECK: vpcmov (%rax), %ymm2, %ymm3, %ymm4599// CHECK: encoding: [0x8f,0xe8,0xe4,0xa2,0x20,0x20]600 vpcmov (%rax), %ymm2, %ymm3, %ymm4601// CHECK: vpcmov %ymm1, (%rax), %ymm3, %ymm4602// CHECK: encoding: [0x8f,0xe8,0x64,0xa2,0x20,0x10]603 vpcmov %ymm1, (%rax), %ymm3, %ymm4604 605 606//////////////////////////607// 5 operand instructions608/////////////////////////609// vpermil2pd610// CHECK: vpermil2pd $1, %xmm5, %xmm2, %xmm1, %xmm7611// CHECK: encoding: [0xc4,0xe3,0x71,0x49,0xfa,0x51]612 vpermil2pd $1, %xmm5, %xmm2, %xmm1, %xmm7613// CHECK: vpermil2pd $2, (%rax), %xmm3, %xmm3, %xmm4614// CHECK: encoding: [0xc4,0xe3,0xe1,0x49,0x20,0x32]615 vpermil2pd $2, (%rax), %xmm3, %xmm3, %xmm4616// CHECK: vpermil2pd $3, 8(%rax), %ymm0, %ymm4, %ymm6617// CHECK: encoding: [0xc4,0xe3,0xdd,0x49,0x70,0x08,0x03]618 vpermil2pd $3, 8(%rax), %ymm0, %ymm4, %ymm6619// CHECK: vpermil2pd $0, %xmm3, (%rax,%rcx), %xmm1, %xmm0620// CHECK: encoding: [0xc4,0xe3,0x71,0x49,0x04,0x08,0x30]621 vpermil2pd $0, %xmm3, (%rax,%rcx), %xmm1, %xmm0622// CHECK: vpermil2pd $1, %ymm1, %ymm2, %ymm3, %ymm4623// CHECK: encoding: [0xc4,0xe3,0x65,0x49,0xe2,0x11]624 vpermil2pd $1, %ymm1, %ymm2, %ymm3, %ymm4625// CHECK: vpermil2pd $2, %ymm1, (%rax), %ymm3, %ymm4626// CHECK: encoding: [0xc4,0xe3,0x65,0x49,0x20,0x12]627 vpermil2pd $2, %ymm1, (%rax), %ymm3, %ymm4628 629// vpermil2ps630// CHECK: vpermil2ps $0, %xmm4, %xmm3, %xmm2, %xmm1631// CHECK: encoding: [0xc4,0xe3,0x69,0x48,0xcb,0x40]632 vpermil2ps $0, %xmm4, %xmm3, %xmm2, %xmm1633// CHECK: vpermil2ps $1, 4(%rax), %xmm2, %xmm3, %xmm0634// CHECK: encoding: [0xc4,0xe3,0xe1,0x48,0x40,0x04,0x21]635 vpermil2ps $1, 4(%rax), %xmm2, %xmm3, %xmm0636// CHECK: vpermil2ps $2, (%rax), %ymm1, %ymm5, %ymm6637// CHECK: encoding: [0xc4,0xe3,0xd5,0x48,0x30,0x12]638 vpermil2ps $2, (%rax), %ymm1, %ymm5, %ymm6639// CHECK: vpermil2ps $3, %xmm1, (%rax), %xmm3, %xmm4640// CHECK: encoding: [0xc4,0xe3,0x61,0x48,0x20,0x13]641 vpermil2ps $3, %xmm1, (%rax), %xmm3, %xmm4642// CHECK: vpermil2ps $0, %ymm4, %ymm4, %ymm2, %ymm2643// CHECK: encoding: [0xc4,0xe3,0x6d,0x48,0xd4,0x40]644 vpermil2ps $0, %ymm4, %ymm4, %ymm2, %ymm2645// CHECK: vpermil2pd $1, %ymm1, 4(%rax), %ymm1, %ymm0646// CHECK: encoding: [0xc4,0xe3,0x75,0x49,0x40,0x04,0x11]647 vpermil2pd $1, %ymm1, 4(%rax), %ymm1, %ymm0648 649