From: Craig Topper Date: Sun, 15 Feb 2015 07:13:48 +0000 (+0000) Subject: [X86] Add assembly parser support for mnemonic aliases for AVX-512 vpcmp instructions. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9bb36ed8d80e06a96fe1b3fad2c2fdb72d7aff44;p=oota-llvm.git [X86] Add assembly parser support for mnemonic aliases for AVX-512 vpcmp instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229287 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/AsmParser/X86AsmParser.cpp b/lib/Target/X86/AsmParser/X86AsmParser.cpp index 0f5ce06af00..0b6fb5200b3 100644 --- a/lib/Target/X86/AsmParser/X86AsmParser.cpp +++ b/lib/Target/X86/AsmParser/X86AsmParser.cpp @@ -1968,9 +1968,9 @@ bool X86AsmParser::ParseInstruction(ParseInstructionInfo &Info, StringRef Name, (PatchedName.endswith("ss") || PatchedName.endswith("sd") || PatchedName.endswith("ps") || PatchedName.endswith("pd"))) { bool IsVCMP = PatchedName[0] == 'v'; - unsigned SSECCIdx = IsVCMP ? 4 : 3; - unsigned SSEComparisonCode = StringSwitch( - PatchedName.slice(SSECCIdx, PatchedName.size() - 2)) + unsigned CCIdx = IsVCMP ? 4 : 3; + unsigned ComparisonCode = StringSwitch( + PatchedName.slice(CCIdx, PatchedName.size() - 2)) .Case("eq", 0x00) .Case("lt", 0x01) .Case("le", 0x02) @@ -2005,12 +2005,12 @@ bool X86AsmParser::ParseInstruction(ParseInstructionInfo &Info, StringRef Name, .Case("gt_oq", 0x1E) .Case("true_us", 0x1F) .Default(~0U); - if (SSEComparisonCode != ~0U && (IsVCMP || SSEComparisonCode < 8)) { + if (ComparisonCode != ~0U && (IsVCMP || ComparisonCode < 8)) { - Operands.push_back(X86Operand::CreateToken(PatchedName.slice(0, SSECCIdx), + Operands.push_back(X86Operand::CreateToken(PatchedName.slice(0, CCIdx), NameLoc)); - const MCExpr *ImmOp = MCConstantExpr::Create(SSEComparisonCode, + const MCExpr *ImmOp = MCConstantExpr::Create(ComparisonCode, getParser().getContext()); Operands.push_back(X86Operand::CreateImm(ImmOp, NameLoc, NameLoc)); @@ -2018,13 +2018,40 @@ bool X86AsmParser::ParseInstruction(ParseInstructionInfo &Info, StringRef Name, } } + // FIXME: Hack to recognize vpcmp{ub,uw,ud,uq,b,w,d,q}. + if (PatchedName.startswith("vpcmp") && + (PatchedName.endswith("b") || PatchedName.endswith("w") || + PatchedName.endswith("d") || PatchedName.endswith("q"))) { + unsigned CCIdx = PatchedName.drop_back().back() == 'u' ? 2 : 1; + unsigned ComparisonCode = StringSwitch( + PatchedName.slice(5, PatchedName.size() - CCIdx)) + .Case("eq", 0x0) // Only allowed on unsigned. Checked below. + .Case("lt", 0x1) + .Case("le", 0x2) + //.Case("false", 0x3) // Not a documented alias. + .Case("neq", 0x4) + .Case("nlt", 0x5) + .Case("nle", 0x6) + //.Case("true", 0x7) // Not a documented alias. + .Default(~0U); + if (ComparisonCode != ~0U && (ComparisonCode != 0 || CCIdx == 2)) { + Operands.push_back(X86Operand::CreateToken("vpcmp", NameLoc)); + + const MCExpr *ImmOp = MCConstantExpr::Create(ComparisonCode, + getParser().getContext()); + Operands.push_back(X86Operand::CreateImm(ImmOp, NameLoc, NameLoc)); + + PatchedName = PatchedName.substr(PatchedName.size() - CCIdx); + } + } + // FIXME: Hack to recognize vpcom{ub,uw,ud,uq,b,w,d,q}. if (PatchedName.startswith("vpcom") && (PatchedName.endswith("b") || PatchedName.endswith("w") || PatchedName.endswith("d") || PatchedName.endswith("q"))) { - unsigned XOPIdx = PatchedName.drop_back().endswith("u") ? 2 : 1; - unsigned XOPComparisonCode = StringSwitch( - PatchedName.slice(5, PatchedName.size() - XOPIdx)) + unsigned CCIdx = PatchedName.drop_back().back() == 'u' ? 2 : 1; + unsigned ComparisonCode = StringSwitch( + PatchedName.slice(5, PatchedName.size() - CCIdx)) .Case("lt", 0x0) .Case("le", 0x1) .Case("gt", 0x2) @@ -2034,14 +2061,14 @@ bool X86AsmParser::ParseInstruction(ParseInstructionInfo &Info, StringRef Name, .Case("false", 0x6) .Case("true", 0x7) .Default(~0U); - if (XOPComparisonCode != ~0U) { + if (ComparisonCode != ~0U) { Operands.push_back(X86Operand::CreateToken("vpcom", NameLoc)); - const MCExpr *ImmOp = MCConstantExpr::Create(XOPComparisonCode, + const MCExpr *ImmOp = MCConstantExpr::Create(ComparisonCode, getParser().getContext()); Operands.push_back(X86Operand::CreateImm(ImmOp, NameLoc, NameLoc)); - PatchedName = PatchedName.substr(PatchedName.size() - XOPIdx); + PatchedName = PatchedName.substr(PatchedName.size() - CCIdx); } } diff --git a/test/MC/X86/avx512-encodings.s b/test/MC/X86/avx512-encodings.s index 943e5064bfa..9c2b175ffa7 100644 --- a/test/MC/X86/avx512-encodings.s +++ b/test/MC/X86/avx512-encodings.s @@ -1605,6 +1605,266 @@ // CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0xaa,0xfc,0xfd,0xff,0xff,0x7b] vpcmpd $123, -516(%rdx){1to16}, %zmm25, %k5 +// CHECK: vpcmpltd %zmm7, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0xd7,0x01] + vpcmpltd %zmm7, %zmm25, %k2 + +// CHECK: vpcmpltd %zmm7, %zmm25, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x35,0x41,0x1f,0xd7,0x01] + vpcmpltd %zmm7, %zmm25, %k2 {%k1} + +// CHECK: vpcmpltd (%rcx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x11,0x01] + vpcmpltd (%rcx), %zmm25, %k2 + +// CHECK: vpcmpltd 291(%rax,%r14,8), %zmm25, %k2 +// CHECK: encoding: [0x62,0xb3,0x35,0x40,0x1f,0x94,0xf0,0x23,0x01,0x00,0x00,0x01] + vpcmpltd 291(%rax,%r14,8), %zmm25, %k2 + +// CHECK: vpcmpltd (%rcx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x11,0x01] + vpcmpltd (%rcx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpltd 8128(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x52,0x7f,0x01] + vpcmpltd 8128(%rdx), %zmm25, %k2 + +// CHECK: vpcmpltd 8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x92,0x00,0x20,0x00,0x00,0x01] + vpcmpltd 8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpltd -8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x52,0x80,0x01] + vpcmpltd -8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpltd -8256(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x92,0xc0,0xdf,0xff,0xff,0x01] + vpcmpltd -8256(%rdx), %zmm25, %k2 + +// CHECK: vpcmpltd 508(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x52,0x7f,0x01] + vpcmpltd 508(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpltd 512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x92,0x00,0x02,0x00,0x00,0x01] + vpcmpltd 512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpltd -512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x52,0x80,0x01] + vpcmpltd -512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpltd -516(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x92,0xfc,0xfd,0xff,0xff,0x01] + vpcmpltd -516(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpled %zmm7, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0xd7,0x02] + vpcmpled %zmm7, %zmm25, %k2 + +// CHECK: vpcmpled %zmm7, %zmm25, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x35,0x41,0x1f,0xd7,0x02] + vpcmpled %zmm7, %zmm25, %k2 {%k1} + +// CHECK: vpcmpled (%rcx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x11,0x02] + vpcmpled (%rcx), %zmm25, %k2 + +// CHECK: vpcmpled 291(%rax,%r14,8), %zmm25, %k2 +// CHECK: encoding: [0x62,0xb3,0x35,0x40,0x1f,0x94,0xf0,0x23,0x01,0x00,0x00,0x02] + vpcmpled 291(%rax,%r14,8), %zmm25, %k2 + +// CHECK: vpcmpled (%rcx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x11,0x02] + vpcmpled (%rcx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpled 8128(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x52,0x7f,0x02] + vpcmpled 8128(%rdx), %zmm25, %k2 + +// CHECK: vpcmpled 8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x92,0x00,0x20,0x00,0x00,0x02] + vpcmpled 8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpled -8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x52,0x80,0x02] + vpcmpled -8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpled -8256(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x92,0xc0,0xdf,0xff,0xff,0x02] + vpcmpled -8256(%rdx), %zmm25, %k2 + +// CHECK: vpcmpled 508(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x52,0x7f,0x02] + vpcmpled 508(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpled 512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x92,0x00,0x02,0x00,0x00,0x02] + vpcmpled 512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpled -512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x52,0x80,0x02] + vpcmpled -512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpled -516(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x92,0xfc,0xfd,0xff,0xff,0x02] + vpcmpled -516(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpneqd %zmm7, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0xd7,0x04] + vpcmpneqd %zmm7, %zmm25, %k2 + +// CHECK: vpcmpneqd %zmm7, %zmm25, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x35,0x41,0x1f,0xd7,0x04] + vpcmpneqd %zmm7, %zmm25, %k2 {%k1} + +// CHECK: vpcmpneqd (%rcx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x11,0x04] + vpcmpneqd (%rcx), %zmm25, %k2 + +// CHECK: vpcmpneqd 291(%rax,%r14,8), %zmm25, %k2 +// CHECK: encoding: [0x62,0xb3,0x35,0x40,0x1f,0x94,0xf0,0x23,0x01,0x00,0x00,0x04] + vpcmpneqd 291(%rax,%r14,8), %zmm25, %k2 + +// CHECK: vpcmpneqd (%rcx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x11,0x04] + vpcmpneqd (%rcx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpneqd 8128(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x52,0x7f,0x04] + vpcmpneqd 8128(%rdx), %zmm25, %k2 + +// CHECK: vpcmpneqd 8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x92,0x00,0x20,0x00,0x00,0x04] + vpcmpneqd 8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpneqd -8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x52,0x80,0x04] + vpcmpneqd -8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpneqd -8256(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x92,0xc0,0xdf,0xff,0xff,0x04] + vpcmpneqd -8256(%rdx), %zmm25, %k2 + +// CHECK: vpcmpneqd 508(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x52,0x7f,0x04] + vpcmpneqd 508(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpneqd 512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x92,0x00,0x02,0x00,0x00,0x04] + vpcmpneqd 512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpneqd -512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x52,0x80,0x04] + vpcmpneqd -512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpneqd -516(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x92,0xfc,0xfd,0xff,0xff,0x04] + vpcmpneqd -516(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnltd %zmm7, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0xd7,0x05] + vpcmpnltd %zmm7, %zmm25, %k2 + +// CHECK: vpcmpnltd %zmm7, %zmm25, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x35,0x41,0x1f,0xd7,0x05] + vpcmpnltd %zmm7, %zmm25, %k2 {%k1} + +// CHECK: vpcmpnltd (%rcx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x11,0x05] + vpcmpnltd (%rcx), %zmm25, %k2 + +// CHECK: vpcmpnltd 291(%rax,%r14,8), %zmm25, %k2 +// CHECK: encoding: [0x62,0xb3,0x35,0x40,0x1f,0x94,0xf0,0x23,0x01,0x00,0x00,0x05] + vpcmpnltd 291(%rax,%r14,8), %zmm25, %k2 + +// CHECK: vpcmpnltd (%rcx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x11,0x05] + vpcmpnltd (%rcx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnltd 8128(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x52,0x7f,0x05] + vpcmpnltd 8128(%rdx), %zmm25, %k2 + +// CHECK: vpcmpnltd 8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x92,0x00,0x20,0x00,0x00,0x05] + vpcmpnltd 8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpnltd -8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x52,0x80,0x05] + vpcmpnltd -8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpnltd -8256(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x92,0xc0,0xdf,0xff,0xff,0x05] + vpcmpnltd -8256(%rdx), %zmm25, %k2 + +// CHECK: vpcmpnltd 508(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x52,0x7f,0x05] + vpcmpnltd 508(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnltd 512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x92,0x00,0x02,0x00,0x00,0x05] + vpcmpnltd 512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnltd -512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x52,0x80,0x05] + vpcmpnltd -512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnltd -516(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x92,0xfc,0xfd,0xff,0xff,0x05] + vpcmpnltd -516(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnled %zmm7, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0xd7,0x06] + vpcmpnled %zmm7, %zmm25, %k2 + +// CHECK: vpcmpnled %zmm7, %zmm25, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x35,0x41,0x1f,0xd7,0x06] + vpcmpnled %zmm7, %zmm25, %k2 {%k1} + +// CHECK: vpcmpnled (%rcx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x11,0x06] + vpcmpnled (%rcx), %zmm25, %k2 + +// CHECK: vpcmpnled 291(%rax,%r14,8), %zmm25, %k2 +// CHECK: encoding: [0x62,0xb3,0x35,0x40,0x1f,0x94,0xf0,0x23,0x01,0x00,0x00,0x06] + vpcmpnled 291(%rax,%r14,8), %zmm25, %k2 + +// CHECK: vpcmpnled (%rcx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x11,0x06] + vpcmpnled (%rcx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnled 8128(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x52,0x7f,0x06] + vpcmpnled 8128(%rdx), %zmm25, %k2 + +// CHECK: vpcmpnled 8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x92,0x00,0x20,0x00,0x00,0x06] + vpcmpnled 8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpnled -8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x52,0x80,0x06] + vpcmpnled -8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpnled -8256(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1f,0x92,0xc0,0xdf,0xff,0xff,0x06] + vpcmpnled -8256(%rdx), %zmm25, %k2 + +// CHECK: vpcmpnled 508(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x52,0x7f,0x06] + vpcmpnled 508(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnled 512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x92,0x00,0x02,0x00,0x00,0x06] + vpcmpnled 512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnled -512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x52,0x80,0x06] + vpcmpnled -512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnled -516(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1f,0x92,0xfc,0xfd,0xff,0xff,0x06] + vpcmpnled -516(%rdx){1to16}, %zmm25, %k2 + // CHECK: vpcmpeqd %zmm10, %zmm2, %k5 // CHECK: encoding: [0x62,0xd1,0x6d,0x48,0x76,0xea] vpcmpeqd %zmm10, %zmm2, %k5 @@ -1869,6 +2129,266 @@ // CHECK: encoding: [0x62,0xf3,0x9d,0x50,0x1f,0xaa,0xf8,0xfb,0xff,0xff,0x7b] vpcmpq $123, -1032(%rdx){1to8}, %zmm28, %k5 +// CHECK: vpcmpltq %zmm7, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0xd7,0x01] + vpcmpltq %zmm7, %zmm14, %k2 + +// CHECK: vpcmpltq %zmm7, %zmm14, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x8d,0x49,0x1f,0xd7,0x01] + vpcmpltq %zmm7, %zmm14, %k2 {%k1} + +// CHECK: vpcmpltq (%rcx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x11,0x01] + vpcmpltq (%rcx), %zmm14, %k2 + +// CHECK: vpcmpltq 291(%rax,%r14,8), %zmm14, %k2 +// CHECK: encoding: [0x62,0xb3,0x8d,0x48,0x1f,0x94,0xf0,0x23,0x01,0x00,0x00,0x01] + vpcmpltq 291(%rax,%r14,8), %zmm14, %k2 + +// CHECK: vpcmpltq (%rcx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x11,0x01] + vpcmpltq (%rcx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpltq 8128(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x52,0x7f,0x01] + vpcmpltq 8128(%rdx), %zmm14, %k2 + +// CHECK: vpcmpltq 8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x92,0x00,0x20,0x00,0x00,0x01] + vpcmpltq 8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpltq -8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x52,0x80,0x01] + vpcmpltq -8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpltq -8256(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x92,0xc0,0xdf,0xff,0xff,0x01] + vpcmpltq -8256(%rdx), %zmm14, %k2 + +// CHECK: vpcmpltq 1016(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x52,0x7f,0x01] + vpcmpltq 1016(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpltq 1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x92,0x00,0x04,0x00,0x00,0x01] + vpcmpltq 1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpltq -1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x52,0x80,0x01] + vpcmpltq -1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpltq -1032(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x92,0xf8,0xfb,0xff,0xff,0x01] + vpcmpltq -1032(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpleq %zmm7, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0xd7,0x02] + vpcmpleq %zmm7, %zmm14, %k2 + +// CHECK: vpcmpleq %zmm7, %zmm14, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x8d,0x49,0x1f,0xd7,0x02] + vpcmpleq %zmm7, %zmm14, %k2 {%k1} + +// CHECK: vpcmpleq (%rcx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x11,0x02] + vpcmpleq (%rcx), %zmm14, %k2 + +// CHECK: vpcmpleq 291(%rax,%r14,8), %zmm14, %k2 +// CHECK: encoding: [0x62,0xb3,0x8d,0x48,0x1f,0x94,0xf0,0x23,0x01,0x00,0x00,0x02] + vpcmpleq 291(%rax,%r14,8), %zmm14, %k2 + +// CHECK: vpcmpleq (%rcx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x11,0x02] + vpcmpleq (%rcx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpleq 8128(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x52,0x7f,0x02] + vpcmpleq 8128(%rdx), %zmm14, %k2 + +// CHECK: vpcmpleq 8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x92,0x00,0x20,0x00,0x00,0x02] + vpcmpleq 8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpleq -8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x52,0x80,0x02] + vpcmpleq -8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpleq -8256(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x92,0xc0,0xdf,0xff,0xff,0x02] + vpcmpleq -8256(%rdx), %zmm14, %k2 + +// CHECK: vpcmpleq 1016(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x52,0x7f,0x02] + vpcmpleq 1016(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpleq 1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x92,0x00,0x04,0x00,0x00,0x02] + vpcmpleq 1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpleq -1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x52,0x80,0x02] + vpcmpleq -1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpleq -1032(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x92,0xf8,0xfb,0xff,0xff,0x02] + vpcmpleq -1032(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpneqq %zmm7, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0xd7,0x04] + vpcmpneqq %zmm7, %zmm14, %k2 + +// CHECK: vpcmpneqq %zmm7, %zmm14, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x8d,0x49,0x1f,0xd7,0x04] + vpcmpneqq %zmm7, %zmm14, %k2 {%k1} + +// CHECK: vpcmpneqq (%rcx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x11,0x04] + vpcmpneqq (%rcx), %zmm14, %k2 + +// CHECK: vpcmpneqq 291(%rax,%r14,8), %zmm14, %k2 +// CHECK: encoding: [0x62,0xb3,0x8d,0x48,0x1f,0x94,0xf0,0x23,0x01,0x00,0x00,0x04] + vpcmpneqq 291(%rax,%r14,8), %zmm14, %k2 + +// CHECK: vpcmpneqq (%rcx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x11,0x04] + vpcmpneqq (%rcx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpneqq 8128(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x52,0x7f,0x04] + vpcmpneqq 8128(%rdx), %zmm14, %k2 + +// CHECK: vpcmpneqq 8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x92,0x00,0x20,0x00,0x00,0x04] + vpcmpneqq 8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpneqq -8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x52,0x80,0x04] + vpcmpneqq -8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpneqq -8256(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x92,0xc0,0xdf,0xff,0xff,0x04] + vpcmpneqq -8256(%rdx), %zmm14, %k2 + +// CHECK: vpcmpneqq 1016(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x52,0x7f,0x04] + vpcmpneqq 1016(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpneqq 1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x92,0x00,0x04,0x00,0x00,0x04] + vpcmpneqq 1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpneqq -1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x52,0x80,0x04] + vpcmpneqq -1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpneqq -1032(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x92,0xf8,0xfb,0xff,0xff,0x04] + vpcmpneqq -1032(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnltq %zmm7, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0xd7,0x05] + vpcmpnltq %zmm7, %zmm14, %k2 + +// CHECK: vpcmpnltq %zmm7, %zmm14, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x8d,0x49,0x1f,0xd7,0x05] + vpcmpnltq %zmm7, %zmm14, %k2 {%k1} + +// CHECK: vpcmpnltq (%rcx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x11,0x05] + vpcmpnltq (%rcx), %zmm14, %k2 + +// CHECK: vpcmpnltq 291(%rax,%r14,8), %zmm14, %k2 +// CHECK: encoding: [0x62,0xb3,0x8d,0x48,0x1f,0x94,0xf0,0x23,0x01,0x00,0x00,0x05] + vpcmpnltq 291(%rax,%r14,8), %zmm14, %k2 + +// CHECK: vpcmpnltq (%rcx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x11,0x05] + vpcmpnltq (%rcx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnltq 8128(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x52,0x7f,0x05] + vpcmpnltq 8128(%rdx), %zmm14, %k2 + +// CHECK: vpcmpnltq 8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x92,0x00,0x20,0x00,0x00,0x05] + vpcmpnltq 8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpnltq -8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x52,0x80,0x05] + vpcmpnltq -8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpnltq -8256(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x92,0xc0,0xdf,0xff,0xff,0x05] + vpcmpnltq -8256(%rdx), %zmm14, %k2 + +// CHECK: vpcmpnltq 1016(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x52,0x7f,0x05] + vpcmpnltq 1016(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnltq 1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x92,0x00,0x04,0x00,0x00,0x05] + vpcmpnltq 1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnltq -1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x52,0x80,0x05] + vpcmpnltq -1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnltq -1032(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x92,0xf8,0xfb,0xff,0xff,0x05] + vpcmpnltq -1032(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnleq %zmm7, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0xd7,0x06] + vpcmpnleq %zmm7, %zmm14, %k2 + +// CHECK: vpcmpnleq %zmm7, %zmm14, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x8d,0x49,0x1f,0xd7,0x06] + vpcmpnleq %zmm7, %zmm14, %k2 {%k1} + +// CHECK: vpcmpnleq (%rcx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x11,0x06] + vpcmpnleq (%rcx), %zmm14, %k2 + +// CHECK: vpcmpnleq 291(%rax,%r14,8), %zmm14, %k2 +// CHECK: encoding: [0x62,0xb3,0x8d,0x48,0x1f,0x94,0xf0,0x23,0x01,0x00,0x00,0x06] + vpcmpnleq 291(%rax,%r14,8), %zmm14, %k2 + +// CHECK: vpcmpnleq (%rcx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x11,0x06] + vpcmpnleq (%rcx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnleq 8128(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x52,0x7f,0x06] + vpcmpnleq 8128(%rdx), %zmm14, %k2 + +// CHECK: vpcmpnleq 8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x92,0x00,0x20,0x00,0x00,0x06] + vpcmpnleq 8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpnleq -8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x52,0x80,0x06] + vpcmpnleq -8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpnleq -8256(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1f,0x92,0xc0,0xdf,0xff,0xff,0x06] + vpcmpnleq -8256(%rdx), %zmm14, %k2 + +// CHECK: vpcmpnleq 1016(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x52,0x7f,0x06] + vpcmpnleq 1016(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnleq 1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x92,0x00,0x04,0x00,0x00,0x06] + vpcmpnleq 1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnleq -1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x52,0x80,0x06] + vpcmpnleq -1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnleq -1032(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1f,0x92,0xf8,0xfb,0xff,0xff,0x06] + vpcmpnleq -1032(%rdx){1to8}, %zmm14, %k2 + // CHECK: vpcmpud $171, %zmm7, %zmm25, %k2 // CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0xd7,0xab] vpcmpud $171, %zmm7, %zmm25, %k2 @@ -1925,6 +2445,318 @@ // CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x92,0xfc,0xfd,0xff,0xff,0x7b] vpcmpud $123, -516(%rdx){1to16}, %zmm25, %k2 +// CHECK: vpcmpequd %zmm7, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0xd7,0x00] + vpcmpequd %zmm7, %zmm25, %k2 + +// CHECK: vpcmpequd %zmm7, %zmm25, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x35,0x41,0x1e,0xd7,0x00] + vpcmpequd %zmm7, %zmm25, %k2 {%k1} + +// CHECK: vpcmpequd (%rcx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x11,0x00] + vpcmpequd (%rcx), %zmm25, %k2 + +// CHECK: vpcmpequd 291(%rax,%r14,8), %zmm25, %k2 +// CHECK: encoding: [0x62,0xb3,0x35,0x40,0x1e,0x94,0xf0,0x23,0x01,0x00,0x00,0x00] + vpcmpequd 291(%rax,%r14,8), %zmm25, %k2 + +// CHECK: vpcmpequd (%rcx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x11,0x00] + vpcmpequd (%rcx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpequd 8128(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x52,0x7f,0x00] + vpcmpequd 8128(%rdx), %zmm25, %k2 + +// CHECK: vpcmpequd 8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x92,0x00,0x20,0x00,0x00,0x00] + vpcmpequd 8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpequd -8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x52,0x80,0x00] + vpcmpequd -8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpequd -8256(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x92,0xc0,0xdf,0xff,0xff,0x00] + vpcmpequd -8256(%rdx), %zmm25, %k2 + +// CHECK: vpcmpequd 508(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x52,0x7f,0x00] + vpcmpequd 508(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpequd 512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x92,0x00,0x02,0x00,0x00,0x00] + vpcmpequd 512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpequd -512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x52,0x80,0x00] + vpcmpequd -512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpequd -516(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x92,0xfc,0xfd,0xff,0xff,0x00] + vpcmpequd -516(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpltud %zmm7, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0xd7,0x01] + vpcmpltud %zmm7, %zmm25, %k2 + +// CHECK: vpcmpltud %zmm7, %zmm25, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x35,0x41,0x1e,0xd7,0x01] + vpcmpltud %zmm7, %zmm25, %k2 {%k1} + +// CHECK: vpcmpltud (%rcx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x11,0x01] + vpcmpltud (%rcx), %zmm25, %k2 + +// CHECK: vpcmpltud 291(%rax,%r14,8), %zmm25, %k2 +// CHECK: encoding: [0x62,0xb3,0x35,0x40,0x1e,0x94,0xf0,0x23,0x01,0x00,0x00,0x01] + vpcmpltud 291(%rax,%r14,8), %zmm25, %k2 + +// CHECK: vpcmpltud (%rcx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x11,0x01] + vpcmpltud (%rcx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpltud 8128(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x52,0x7f,0x01] + vpcmpltud 8128(%rdx), %zmm25, %k2 + +// CHECK: vpcmpltud 8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x92,0x00,0x20,0x00,0x00,0x01] + vpcmpltud 8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpltud -8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x52,0x80,0x01] + vpcmpltud -8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpltud -8256(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x92,0xc0,0xdf,0xff,0xff,0x01] + vpcmpltud -8256(%rdx), %zmm25, %k2 + +// CHECK: vpcmpltud 508(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x52,0x7f,0x01] + vpcmpltud 508(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpltud 512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x92,0x00,0x02,0x00,0x00,0x01] + vpcmpltud 512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpltud -512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x52,0x80,0x01] + vpcmpltud -512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpltud -516(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x92,0xfc,0xfd,0xff,0xff,0x01] + vpcmpltud -516(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpleud %zmm7, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0xd7,0x02] + vpcmpleud %zmm7, %zmm25, %k2 + +// CHECK: vpcmpleud %zmm7, %zmm25, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x35,0x41,0x1e,0xd7,0x02] + vpcmpleud %zmm7, %zmm25, %k2 {%k1} + +// CHECK: vpcmpleud (%rcx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x11,0x02] + vpcmpleud (%rcx), %zmm25, %k2 + +// CHECK: vpcmpleud 291(%rax,%r14,8), %zmm25, %k2 +// CHECK: encoding: [0x62,0xb3,0x35,0x40,0x1e,0x94,0xf0,0x23,0x01,0x00,0x00,0x02] + vpcmpleud 291(%rax,%r14,8), %zmm25, %k2 + +// CHECK: vpcmpleud (%rcx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x11,0x02] + vpcmpleud (%rcx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpleud 8128(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x52,0x7f,0x02] + vpcmpleud 8128(%rdx), %zmm25, %k2 + +// CHECK: vpcmpleud 8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x92,0x00,0x20,0x00,0x00,0x02] + vpcmpleud 8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpleud -8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x52,0x80,0x02] + vpcmpleud -8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpleud -8256(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x92,0xc0,0xdf,0xff,0xff,0x02] + vpcmpleud -8256(%rdx), %zmm25, %k2 + +// CHECK: vpcmpleud 508(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x52,0x7f,0x02] + vpcmpleud 508(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpleud 512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x92,0x00,0x02,0x00,0x00,0x02] + vpcmpleud 512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpleud -512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x52,0x80,0x02] + vpcmpleud -512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpleud -516(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x92,0xfc,0xfd,0xff,0xff,0x02] + vpcmpleud -516(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnequd %zmm7, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0xd7,0x04] + vpcmpnequd %zmm7, %zmm25, %k2 + +// CHECK: vpcmpnequd %zmm7, %zmm25, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x35,0x41,0x1e,0xd7,0x04] + vpcmpnequd %zmm7, %zmm25, %k2 {%k1} + +// CHECK: vpcmpnequd (%rcx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x11,0x04] + vpcmpnequd (%rcx), %zmm25, %k2 + +// CHECK: vpcmpnequd 291(%rax,%r14,8), %zmm25, %k2 +// CHECK: encoding: [0x62,0xb3,0x35,0x40,0x1e,0x94,0xf0,0x23,0x01,0x00,0x00,0x04] + vpcmpnequd 291(%rax,%r14,8), %zmm25, %k2 + +// CHECK: vpcmpnequd (%rcx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x11,0x04] + vpcmpnequd (%rcx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnequd 8128(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x52,0x7f,0x04] + vpcmpnequd 8128(%rdx), %zmm25, %k2 + +// CHECK: vpcmpnequd 8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x92,0x00,0x20,0x00,0x00,0x04] + vpcmpnequd 8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpnequd -8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x52,0x80,0x04] + vpcmpnequd -8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpnequd -8256(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x92,0xc0,0xdf,0xff,0xff,0x04] + vpcmpnequd -8256(%rdx), %zmm25, %k2 + +// CHECK: vpcmpnequd 508(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x52,0x7f,0x04] + vpcmpnequd 508(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnequd 512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x92,0x00,0x02,0x00,0x00,0x04] + vpcmpnequd 512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnequd -512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x52,0x80,0x04] + vpcmpnequd -512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnequd -516(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x92,0xfc,0xfd,0xff,0xff,0x04] + vpcmpnequd -516(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnltud %zmm7, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0xd7,0x05] + vpcmpnltud %zmm7, %zmm25, %k2 + +// CHECK: vpcmpnltud %zmm7, %zmm25, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x35,0x41,0x1e,0xd7,0x05] + vpcmpnltud %zmm7, %zmm25, %k2 {%k1} + +// CHECK: vpcmpnltud (%rcx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x11,0x05] + vpcmpnltud (%rcx), %zmm25, %k2 + +// CHECK: vpcmpnltud 291(%rax,%r14,8), %zmm25, %k2 +// CHECK: encoding: [0x62,0xb3,0x35,0x40,0x1e,0x94,0xf0,0x23,0x01,0x00,0x00,0x05] + vpcmpnltud 291(%rax,%r14,8), %zmm25, %k2 + +// CHECK: vpcmpnltud (%rcx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x11,0x05] + vpcmpnltud (%rcx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnltud 8128(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x52,0x7f,0x05] + vpcmpnltud 8128(%rdx), %zmm25, %k2 + +// CHECK: vpcmpnltud 8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x92,0x00,0x20,0x00,0x00,0x05] + vpcmpnltud 8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpnltud -8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x52,0x80,0x05] + vpcmpnltud -8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpnltud -8256(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x92,0xc0,0xdf,0xff,0xff,0x05] + vpcmpnltud -8256(%rdx), %zmm25, %k2 + +// CHECK: vpcmpnltud 508(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x52,0x7f,0x05] + vpcmpnltud 508(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnltud 512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x92,0x00,0x02,0x00,0x00,0x05] + vpcmpnltud 512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnltud -512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x52,0x80,0x05] + vpcmpnltud -512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnltud -516(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x92,0xfc,0xfd,0xff,0xff,0x05] + vpcmpnltud -516(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnleud %zmm7, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0xd7,0x06] + vpcmpnleud %zmm7, %zmm25, %k2 + +// CHECK: vpcmpnleud %zmm7, %zmm25, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x35,0x41,0x1e,0xd7,0x06] + vpcmpnleud %zmm7, %zmm25, %k2 {%k1} + +// CHECK: vpcmpnleud (%rcx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x11,0x06] + vpcmpnleud (%rcx), %zmm25, %k2 + +// CHECK: vpcmpnleud 291(%rax,%r14,8), %zmm25, %k2 +// CHECK: encoding: [0x62,0xb3,0x35,0x40,0x1e,0x94,0xf0,0x23,0x01,0x00,0x00,0x06] + vpcmpnleud 291(%rax,%r14,8), %zmm25, %k2 + +// CHECK: vpcmpnleud (%rcx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x11,0x06] + vpcmpnleud (%rcx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnleud 8128(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x52,0x7f,0x06] + vpcmpnleud 8128(%rdx), %zmm25, %k2 + +// CHECK: vpcmpnleud 8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x92,0x00,0x20,0x00,0x00,0x06] + vpcmpnleud 8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpnleud -8192(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x52,0x80,0x06] + vpcmpnleud -8192(%rdx), %zmm25, %k2 + +// CHECK: vpcmpnleud -8256(%rdx), %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x40,0x1e,0x92,0xc0,0xdf,0xff,0xff,0x06] + vpcmpnleud -8256(%rdx), %zmm25, %k2 + +// CHECK: vpcmpnleud 508(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x52,0x7f,0x06] + vpcmpnleud 508(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnleud 512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x92,0x00,0x02,0x00,0x00,0x06] + vpcmpnleud 512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnleud -512(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x52,0x80,0x06] + vpcmpnleud -512(%rdx){1to16}, %zmm25, %k2 + +// CHECK: vpcmpnleud -516(%rdx){1to16}, %zmm25, %k2 +// CHECK: encoding: [0x62,0xf3,0x35,0x50,0x1e,0x92,0xfc,0xfd,0xff,0xff,0x06] + vpcmpnleud -516(%rdx){1to16}, %zmm25, %k2 + // CHECK: vpcmpuq $171, %zmm8, %zmm14, %k3 // CHECK: encoding: [0x62,0xd3,0x8d,0x48,0x1e,0xd8,0xab] vpcmpuq $171, %zmm8, %zmm14, %k3 @@ -1981,6 +2813,318 @@ // CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x9a,0xf8,0xfb,0xff,0xff,0x7b] vpcmpuq $123, -1032(%rdx){1to8}, %zmm14, %k3 +// CHECK: vpcmpequq %zmm7, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0xd7,0x00] + vpcmpequq %zmm7, %zmm14, %k2 + +// CHECK: vpcmpequq %zmm7, %zmm14, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x8d,0x49,0x1e,0xd7,0x00] + vpcmpequq %zmm7, %zmm14, %k2 {%k1} + +// CHECK: vpcmpequq (%rcx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x11,0x00] + vpcmpequq (%rcx), %zmm14, %k2 + +// CHECK: vpcmpequq 291(%rax,%r14,8), %zmm14, %k2 +// CHECK: encoding: [0x62,0xb3,0x8d,0x48,0x1e,0x94,0xf0,0x23,0x01,0x00,0x00,0x00] + vpcmpequq 291(%rax,%r14,8), %zmm14, %k2 + +// CHECK: vpcmpequq (%rcx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x11,0x00] + vpcmpequq (%rcx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpequq 8128(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x52,0x7f,0x00] + vpcmpequq 8128(%rdx), %zmm14, %k2 + +// CHECK: vpcmpequq 8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x92,0x00,0x20,0x00,0x00,0x00] + vpcmpequq 8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpequq -8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x52,0x80,0x00] + vpcmpequq -8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpequq -8256(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x92,0xc0,0xdf,0xff,0xff,0x00] + vpcmpequq -8256(%rdx), %zmm14, %k2 + +// CHECK: vpcmpequq 1016(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x52,0x7f,0x00] + vpcmpequq 1016(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpequq 1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x92,0x00,0x04,0x00,0x00,0x00] + vpcmpequq 1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpequq -1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x52,0x80,0x00] + vpcmpequq -1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpequq -1032(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x92,0xf8,0xfb,0xff,0xff,0x00] + vpcmpequq -1032(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpltuq %zmm7, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0xd7,0x01] + vpcmpltuq %zmm7, %zmm14, %k2 + +// CHECK: vpcmpltuq %zmm7, %zmm14, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x8d,0x49,0x1e,0xd7,0x01] + vpcmpltuq %zmm7, %zmm14, %k2 {%k1} + +// CHECK: vpcmpltuq (%rcx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x11,0x01] + vpcmpltuq (%rcx), %zmm14, %k2 + +// CHECK: vpcmpltuq 291(%rax,%r14,8), %zmm14, %k2 +// CHECK: encoding: [0x62,0xb3,0x8d,0x48,0x1e,0x94,0xf0,0x23,0x01,0x00,0x00,0x01] + vpcmpltuq 291(%rax,%r14,8), %zmm14, %k2 + +// CHECK: vpcmpltuq (%rcx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x11,0x01] + vpcmpltuq (%rcx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpltuq 8128(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x52,0x7f,0x01] + vpcmpltuq 8128(%rdx), %zmm14, %k2 + +// CHECK: vpcmpltuq 8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x92,0x00,0x20,0x00,0x00,0x01] + vpcmpltuq 8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpltuq -8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x52,0x80,0x01] + vpcmpltuq -8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpltuq -8256(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x92,0xc0,0xdf,0xff,0xff,0x01] + vpcmpltuq -8256(%rdx), %zmm14, %k2 + +// CHECK: vpcmpltuq 1016(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x52,0x7f,0x01] + vpcmpltuq 1016(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpltuq 1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x92,0x00,0x04,0x00,0x00,0x01] + vpcmpltuq 1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpltuq -1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x52,0x80,0x01] + vpcmpltuq -1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpltuq -1032(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x92,0xf8,0xfb,0xff,0xff,0x01] + vpcmpltuq -1032(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpleuq %zmm7, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0xd7,0x02] + vpcmpleuq %zmm7, %zmm14, %k2 + +// CHECK: vpcmpleuq %zmm7, %zmm14, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x8d,0x49,0x1e,0xd7,0x02] + vpcmpleuq %zmm7, %zmm14, %k2 {%k1} + +// CHECK: vpcmpleuq (%rcx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x11,0x02] + vpcmpleuq (%rcx), %zmm14, %k2 + +// CHECK: vpcmpleuq 291(%rax,%r14,8), %zmm14, %k2 +// CHECK: encoding: [0x62,0xb3,0x8d,0x48,0x1e,0x94,0xf0,0x23,0x01,0x00,0x00,0x02] + vpcmpleuq 291(%rax,%r14,8), %zmm14, %k2 + +// CHECK: vpcmpleuq (%rcx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x11,0x02] + vpcmpleuq (%rcx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpleuq 8128(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x52,0x7f,0x02] + vpcmpleuq 8128(%rdx), %zmm14, %k2 + +// CHECK: vpcmpleuq 8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x92,0x00,0x20,0x00,0x00,0x02] + vpcmpleuq 8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpleuq -8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x52,0x80,0x02] + vpcmpleuq -8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpleuq -8256(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x92,0xc0,0xdf,0xff,0xff,0x02] + vpcmpleuq -8256(%rdx), %zmm14, %k2 + +// CHECK: vpcmpleuq 1016(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x52,0x7f,0x02] + vpcmpleuq 1016(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpleuq 1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x92,0x00,0x04,0x00,0x00,0x02] + vpcmpleuq 1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpleuq -1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x52,0x80,0x02] + vpcmpleuq -1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpleuq -1032(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x92,0xf8,0xfb,0xff,0xff,0x02] + vpcmpleuq -1032(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnequq %zmm7, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0xd7,0x04] + vpcmpnequq %zmm7, %zmm14, %k2 + +// CHECK: vpcmpnequq %zmm7, %zmm14, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x8d,0x49,0x1e,0xd7,0x04] + vpcmpnequq %zmm7, %zmm14, %k2 {%k1} + +// CHECK: vpcmpnequq (%rcx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x11,0x04] + vpcmpnequq (%rcx), %zmm14, %k2 + +// CHECK: vpcmpnequq 291(%rax,%r14,8), %zmm14, %k2 +// CHECK: encoding: [0x62,0xb3,0x8d,0x48,0x1e,0x94,0xf0,0x23,0x01,0x00,0x00,0x04] + vpcmpnequq 291(%rax,%r14,8), %zmm14, %k2 + +// CHECK: vpcmpnequq (%rcx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x11,0x04] + vpcmpnequq (%rcx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnequq 8128(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x52,0x7f,0x04] + vpcmpnequq 8128(%rdx), %zmm14, %k2 + +// CHECK: vpcmpnequq 8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x92,0x00,0x20,0x00,0x00,0x04] + vpcmpnequq 8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpnequq -8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x52,0x80,0x04] + vpcmpnequq -8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpnequq -8256(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x92,0xc0,0xdf,0xff,0xff,0x04] + vpcmpnequq -8256(%rdx), %zmm14, %k2 + +// CHECK: vpcmpnequq 1016(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x52,0x7f,0x04] + vpcmpnequq 1016(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnequq 1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x92,0x00,0x04,0x00,0x00,0x04] + vpcmpnequq 1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnequq -1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x52,0x80,0x04] + vpcmpnequq -1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnequq -1032(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x92,0xf8,0xfb,0xff,0xff,0x04] + vpcmpnequq -1032(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnltuq %zmm7, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0xd7,0x05] + vpcmpnltuq %zmm7, %zmm14, %k2 + +// CHECK: vpcmpnltuq %zmm7, %zmm14, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x8d,0x49,0x1e,0xd7,0x05] + vpcmpnltuq %zmm7, %zmm14, %k2 {%k1} + +// CHECK: vpcmpnltuq (%rcx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x11,0x05] + vpcmpnltuq (%rcx), %zmm14, %k2 + +// CHECK: vpcmpnltuq 291(%rax,%r14,8), %zmm14, %k2 +// CHECK: encoding: [0x62,0xb3,0x8d,0x48,0x1e,0x94,0xf0,0x23,0x01,0x00,0x00,0x05] + vpcmpnltuq 291(%rax,%r14,8), %zmm14, %k2 + +// CHECK: vpcmpnltuq (%rcx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x11,0x05] + vpcmpnltuq (%rcx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnltuq 8128(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x52,0x7f,0x05] + vpcmpnltuq 8128(%rdx), %zmm14, %k2 + +// CHECK: vpcmpnltuq 8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x92,0x00,0x20,0x00,0x00,0x05] + vpcmpnltuq 8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpnltuq -8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x52,0x80,0x05] + vpcmpnltuq -8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpnltuq -8256(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x92,0xc0,0xdf,0xff,0xff,0x05] + vpcmpnltuq -8256(%rdx), %zmm14, %k2 + +// CHECK: vpcmpnltuq 1016(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x52,0x7f,0x05] + vpcmpnltuq 1016(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnltuq 1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x92,0x00,0x04,0x00,0x00,0x05] + vpcmpnltuq 1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnltuq -1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x52,0x80,0x05] + vpcmpnltuq -1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnltuq -1032(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x92,0xf8,0xfb,0xff,0xff,0x05] + vpcmpnltuq -1032(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnleuq %zmm7, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0xd7,0x06] + vpcmpnleuq %zmm7, %zmm14, %k2 + +// CHECK: vpcmpnleuq %zmm7, %zmm14, %k2 {%k1} +// CHECK: encoding: [0x62,0xf3,0x8d,0x49,0x1e,0xd7,0x06] + vpcmpnleuq %zmm7, %zmm14, %k2 {%k1} + +// CHECK: vpcmpnleuq (%rcx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x11,0x06] + vpcmpnleuq (%rcx), %zmm14, %k2 + +// CHECK: vpcmpnleuq 291(%rax,%r14,8), %zmm14, %k2 +// CHECK: encoding: [0x62,0xb3,0x8d,0x48,0x1e,0x94,0xf0,0x23,0x01,0x00,0x00,0x06] + vpcmpnleuq 291(%rax,%r14,8), %zmm14, %k2 + +// CHECK: vpcmpnleuq (%rcx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x11,0x06] + vpcmpnleuq (%rcx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnleuq 8128(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x52,0x7f,0x06] + vpcmpnleuq 8128(%rdx), %zmm14, %k2 + +// CHECK: vpcmpnleuq 8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x92,0x00,0x20,0x00,0x00,0x06] + vpcmpnleuq 8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpnleuq -8192(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x52,0x80,0x06] + vpcmpnleuq -8192(%rdx), %zmm14, %k2 + +// CHECK: vpcmpnleuq -8256(%rdx), %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x48,0x1e,0x92,0xc0,0xdf,0xff,0xff,0x06] + vpcmpnleuq -8256(%rdx), %zmm14, %k2 + +// CHECK: vpcmpnleuq 1016(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x52,0x7f,0x06] + vpcmpnleuq 1016(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnleuq 1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x92,0x00,0x04,0x00,0x00,0x06] + vpcmpnleuq 1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnleuq -1024(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x52,0x80,0x06] + vpcmpnleuq -1024(%rdx){1to8}, %zmm14, %k2 + +// CHECK: vpcmpnleuq -1032(%rdx){1to8}, %zmm14, %k2 +// CHECK: encoding: [0x62,0xf3,0x8d,0x58,0x1e,0x92,0xf8,0xfb,0xff,0xff,0x06] + vpcmpnleuq -1032(%rdx){1to8}, %zmm14, %k2 + // CHECK: vpmaxsd %zmm16, %zmm8, %zmm6 // CHECK: encoding: [0x62,0xb2,0x3d,0x48,0x3d,0xf0] vpmaxsd %zmm16, %zmm8, %zmm6 diff --git a/test/MC/X86/x86-64-avx512bw.s b/test/MC/X86/x86-64-avx512bw.s index 1abe7776f0c..7aa7afac6b3 100644 --- a/test/MC/X86/x86-64-avx512bw.s +++ b/test/MC/X86/x86-64-avx512bw.s @@ -912,6 +912,166 @@ // CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x9a,0xc0,0xdf,0xff,0xff,0x7b] vpcmpb $123, -8256(%rdx), %zmm26, %k3 +// CHECK: vpcmpltb %zmm25, %zmm26, %k3 +// CHECK: encoding: [0x62,0x93,0x2d,0x40,0x3f,0xd9,0x01] + vpcmpltb %zmm25, %zmm26, %k3 + +// CHECK: vpcmpltb %zmm25, %zmm26, %k3 {%k7} +// CHECK: encoding: [0x62,0x93,0x2d,0x47,0x3f,0xd9,0x01] + vpcmpltb %zmm25, %zmm26, %k3 {%k7} + +// CHECK: vpcmpltb (%rcx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x19,0x01] + vpcmpltb (%rcx), %zmm26, %k3 + +// CHECK: vpcmpltb 291(%rax,%r14,8), %zmm26, %k3 +// CHECK: encoding: [0x62,0xb3,0x2d,0x40,0x3f,0x9c,0xf0,0x23,0x01,0x00,0x00,0x01] + vpcmpltb 291(%rax,%r14,8), %zmm26, %k3 + +// CHECK: vpcmpltb 8128(%rdx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x5a,0x7f,0x01] + vpcmpltb 8128(%rdx), %zmm26, %k3 + +// CHECK: vpcmpltb 8192(%rdx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x9a,0x00,0x20,0x00,0x00,0x01] + vpcmpltb 8192(%rdx), %zmm26, %k3 + +// CHECK: vpcmpltb -8192(%rdx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x5a,0x80,0x01] + vpcmpltb -8192(%rdx), %zmm26, %k3 + +// CHECK: vpcmpltb -8256(%rdx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x9a,0xc0,0xdf,0xff,0xff,0x01] + vpcmpltb -8256(%rdx), %zmm26, %k3 + +// CHECK: vpcmpleb %zmm25, %zmm26, %k3 +// CHECK: encoding: [0x62,0x93,0x2d,0x40,0x3f,0xd9,0x02] + vpcmpleb %zmm25, %zmm26, %k3 + +// CHECK: vpcmpleb %zmm25, %zmm26, %k3 {%k7} +// CHECK: encoding: [0x62,0x93,0x2d,0x47,0x3f,0xd9,0x02] + vpcmpleb %zmm25, %zmm26, %k3 {%k7} + +// CHECK: vpcmpleb (%rcx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x19,0x02] + vpcmpleb (%rcx), %zmm26, %k3 + +// CHECK: vpcmpleb 291(%rax,%r14,8), %zmm26, %k3 +// CHECK: encoding: [0x62,0xb3,0x2d,0x40,0x3f,0x9c,0xf0,0x23,0x01,0x00,0x00,0x02] + vpcmpleb 291(%rax,%r14,8), %zmm26, %k3 + +// CHECK: vpcmpleb 8128(%rdx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x5a,0x7f,0x02] + vpcmpleb 8128(%rdx), %zmm26, %k3 + +// CHECK: vpcmpleb 8192(%rdx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x9a,0x00,0x20,0x00,0x00,0x02] + vpcmpleb 8192(%rdx), %zmm26, %k3 + +// CHECK: vpcmpleb -8192(%rdx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x5a,0x80,0x02] + vpcmpleb -8192(%rdx), %zmm26, %k3 + +// CHECK: vpcmpleb -8256(%rdx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x9a,0xc0,0xdf,0xff,0xff,0x02] + vpcmpleb -8256(%rdx), %zmm26, %k3 + +// CHECK: vpcmpneqb %zmm25, %zmm26, %k3 +// CHECK: encoding: [0x62,0x93,0x2d,0x40,0x3f,0xd9,0x04] + vpcmpneqb %zmm25, %zmm26, %k3 + +// CHECK: vpcmpneqb %zmm25, %zmm26, %k3 {%k7} +// CHECK: encoding: [0x62,0x93,0x2d,0x47,0x3f,0xd9,0x04] + vpcmpneqb %zmm25, %zmm26, %k3 {%k7} + +// CHECK: vpcmpneqb (%rcx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x19,0x04] + vpcmpneqb (%rcx), %zmm26, %k3 + +// CHECK: vpcmpneqb 291(%rax,%r14,8), %zmm26, %k3 +// CHECK: encoding: [0x62,0xb3,0x2d,0x40,0x3f,0x9c,0xf0,0x23,0x01,0x00,0x00,0x04] + vpcmpneqb 291(%rax,%r14,8), %zmm26, %k3 + +// CHECK: vpcmpneqb 8128(%rdx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x5a,0x7f,0x04] + vpcmpneqb 8128(%rdx), %zmm26, %k3 + +// CHECK: vpcmpneqb 8192(%rdx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x9a,0x00,0x20,0x00,0x00,0x04] + vpcmpneqb 8192(%rdx), %zmm26, %k3 + +// CHECK: vpcmpneqb -8192(%rdx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x5a,0x80,0x04] + vpcmpneqb -8192(%rdx), %zmm26, %k3 + +// CHECK: vpcmpneqb -8256(%rdx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x9a,0xc0,0xdf,0xff,0xff,0x04] + vpcmpneqb -8256(%rdx), %zmm26, %k3 + +// CHECK: vpcmpnltb %zmm25, %zmm26, %k3 +// CHECK: encoding: [0x62,0x93,0x2d,0x40,0x3f,0xd9,0x05] + vpcmpnltb %zmm25, %zmm26, %k3 + +// CHECK: vpcmpnltb %zmm25, %zmm26, %k3 {%k7} +// CHECK: encoding: [0x62,0x93,0x2d,0x47,0x3f,0xd9,0x05] + vpcmpnltb %zmm25, %zmm26, %k3 {%k7} + +// CHECK: vpcmpnltb (%rcx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x19,0x05] + vpcmpnltb (%rcx), %zmm26, %k3 + +// CHECK: vpcmpnltb 291(%rax,%r14,8), %zmm26, %k3 +// CHECK: encoding: [0x62,0xb3,0x2d,0x40,0x3f,0x9c,0xf0,0x23,0x01,0x00,0x00,0x05] + vpcmpnltb 291(%rax,%r14,8), %zmm26, %k3 + +// CHECK: vpcmpnltb 8128(%rdx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x5a,0x7f,0x05] + vpcmpnltb 8128(%rdx), %zmm26, %k3 + +// CHECK: vpcmpnltb 8192(%rdx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x9a,0x00,0x20,0x00,0x00,0x05] + vpcmpnltb 8192(%rdx), %zmm26, %k3 + +// CHECK: vpcmpnltb -8192(%rdx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x5a,0x80,0x05] + vpcmpnltb -8192(%rdx), %zmm26, %k3 + +// CHECK: vpcmpnltb -8256(%rdx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x9a,0xc0,0xdf,0xff,0xff,0x05] + vpcmpnltb -8256(%rdx), %zmm26, %k3 + +// CHECK: vpcmpnleb %zmm25, %zmm26, %k3 +// CHECK: encoding: [0x62,0x93,0x2d,0x40,0x3f,0xd9,0x06] + vpcmpnleb %zmm25, %zmm26, %k3 + +// CHECK: vpcmpnleb %zmm25, %zmm26, %k3 {%k7} +// CHECK: encoding: [0x62,0x93,0x2d,0x47,0x3f,0xd9,0x06] + vpcmpnleb %zmm25, %zmm26, %k3 {%k7} + +// CHECK: vpcmpnleb (%rcx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x19,0x06] + vpcmpnleb (%rcx), %zmm26, %k3 + +// CHECK: vpcmpnleb 291(%rax,%r14,8), %zmm26, %k3 +// CHECK: encoding: [0x62,0xb3,0x2d,0x40,0x3f,0x9c,0xf0,0x23,0x01,0x00,0x00,0x06] + vpcmpnleb 291(%rax,%r14,8), %zmm26, %k3 + +// CHECK: vpcmpnleb 8128(%rdx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x5a,0x7f,0x06] + vpcmpnleb 8128(%rdx), %zmm26, %k3 + +// CHECK: vpcmpnleb 8192(%rdx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x9a,0x00,0x20,0x00,0x00,0x06] + vpcmpnleb 8192(%rdx), %zmm26, %k3 + +// CHECK: vpcmpnleb -8192(%rdx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x5a,0x80,0x06] + vpcmpnleb -8192(%rdx), %zmm26, %k3 + +// CHECK: vpcmpnleb -8256(%rdx), %zmm26, %k3 +// CHECK: encoding: [0x62,0xf3,0x2d,0x40,0x3f,0x9a,0xc0,0xdf,0xff,0xff,0x06] + vpcmpnleb -8256(%rdx), %zmm26, %k3 + // CHECK: vpcmpw $171, %zmm25, %zmm29, %k3 // CHECK: encoding: [0x62,0x93,0x95,0x40,0x3f,0xd9,0xab] vpcmpw $171, %zmm25, %zmm29, %k3 @@ -948,6 +1108,166 @@ // CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x9a,0xc0,0xdf,0xff,0xff,0x7b] vpcmpw $123, -8256(%rdx), %zmm29, %k3 +// CHECK: vpcmpltw %zmm25, %zmm29, %k3 +// CHECK: encoding: [0x62,0x93,0x95,0x40,0x3f,0xd9,0x01] + vpcmpltw %zmm25, %zmm29, %k3 + +// CHECK: vpcmpltw %zmm25, %zmm29, %k3 {%k6} +// CHECK: encoding: [0x62,0x93,0x95,0x46,0x3f,0xd9,0x01] + vpcmpltw %zmm25, %zmm29, %k3 {%k6} + +// CHECK: vpcmpltw (%rcx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x19,0x01] + vpcmpltw (%rcx), %zmm29, %k3 + +// CHECK: vpcmpltw 291(%rax,%r14,8), %zmm29, %k3 +// CHECK: encoding: [0x62,0xb3,0x95,0x40,0x3f,0x9c,0xf0,0x23,0x01,0x00,0x00,0x01] + vpcmpltw 291(%rax,%r14,8), %zmm29, %k3 + +// CHECK: vpcmpltw 8128(%rdx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x5a,0x7f,0x01] + vpcmpltw 8128(%rdx), %zmm29, %k3 + +// CHECK: vpcmpltw 8192(%rdx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x9a,0x00,0x20,0x00,0x00,0x01] + vpcmpltw 8192(%rdx), %zmm29, %k3 + +// CHECK: vpcmpltw -8192(%rdx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x5a,0x80,0x01] + vpcmpltw -8192(%rdx), %zmm29, %k3 + +// CHECK: vpcmpltw -8256(%rdx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x9a,0xc0,0xdf,0xff,0xff,0x01] + vpcmpltw -8256(%rdx), %zmm29, %k3 + +// CHECK: vpcmplew %zmm25, %zmm29, %k3 +// CHECK: encoding: [0x62,0x93,0x95,0x40,0x3f,0xd9,0x02] + vpcmplew %zmm25, %zmm29, %k3 + +// CHECK: vpcmplew %zmm25, %zmm29, %k3 {%k6} +// CHECK: encoding: [0x62,0x93,0x95,0x46,0x3f,0xd9,0x02] + vpcmplew %zmm25, %zmm29, %k3 {%k6} + +// CHECK: vpcmplew (%rcx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x19,0x02] + vpcmplew (%rcx), %zmm29, %k3 + +// CHECK: vpcmplew 291(%rax,%r14,8), %zmm29, %k3 +// CHECK: encoding: [0x62,0xb3,0x95,0x40,0x3f,0x9c,0xf0,0x23,0x01,0x00,0x00,0x02] + vpcmplew 291(%rax,%r14,8), %zmm29, %k3 + +// CHECK: vpcmplew 8128(%rdx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x5a,0x7f,0x02] + vpcmplew 8128(%rdx), %zmm29, %k3 + +// CHECK: vpcmplew 8192(%rdx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x9a,0x00,0x20,0x00,0x00,0x02] + vpcmplew 8192(%rdx), %zmm29, %k3 + +// CHECK: vpcmplew -8192(%rdx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x5a,0x80,0x02] + vpcmplew -8192(%rdx), %zmm29, %k3 + +// CHECK: vpcmplew -8256(%rdx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x9a,0xc0,0xdf,0xff,0xff,0x02] + vpcmplew -8256(%rdx), %zmm29, %k3 + +// CHECK: vpcmpneqw %zmm25, %zmm29, %k3 +// CHECK: encoding: [0x62,0x93,0x95,0x40,0x3f,0xd9,0x04] + vpcmpneqw %zmm25, %zmm29, %k3 + +// CHECK: vpcmpneqw %zmm25, %zmm29, %k3 {%k6} +// CHECK: encoding: [0x62,0x93,0x95,0x46,0x3f,0xd9,0x04] + vpcmpneqw %zmm25, %zmm29, %k3 {%k6} + +// CHECK: vpcmpneqw (%rcx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x19,0x04] + vpcmpneqw (%rcx), %zmm29, %k3 + +// CHECK: vpcmpneqw 291(%rax,%r14,8), %zmm29, %k3 +// CHECK: encoding: [0x62,0xb3,0x95,0x40,0x3f,0x9c,0xf0,0x23,0x01,0x00,0x00,0x04] + vpcmpneqw 291(%rax,%r14,8), %zmm29, %k3 + +// CHECK: vpcmpneqw 8128(%rdx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x5a,0x7f,0x04] + vpcmpneqw 8128(%rdx), %zmm29, %k3 + +// CHECK: vpcmpneqw 8192(%rdx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x9a,0x00,0x20,0x00,0x00,0x04] + vpcmpneqw 8192(%rdx), %zmm29, %k3 + +// CHECK: vpcmpneqw -8192(%rdx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x5a,0x80,0x04] + vpcmpneqw -8192(%rdx), %zmm29, %k3 + +// CHECK: vpcmpneqw -8256(%rdx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x9a,0xc0,0xdf,0xff,0xff,0x04] + vpcmpneqw -8256(%rdx), %zmm29, %k3 + +// CHECK: vpcmpnltw %zmm25, %zmm29, %k3 +// CHECK: encoding: [0x62,0x93,0x95,0x40,0x3f,0xd9,0x05] + vpcmpnltw %zmm25, %zmm29, %k3 + +// CHECK: vpcmpnltw %zmm25, %zmm29, %k3 {%k6} +// CHECK: encoding: [0x62,0x93,0x95,0x46,0x3f,0xd9,0x05] + vpcmpnltw %zmm25, %zmm29, %k3 {%k6} + +// CHECK: vpcmpnltw (%rcx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x19,0x05] + vpcmpnltw (%rcx), %zmm29, %k3 + +// CHECK: vpcmpnltw 291(%rax,%r14,8), %zmm29, %k3 +// CHECK: encoding: [0x62,0xb3,0x95,0x40,0x3f,0x9c,0xf0,0x23,0x01,0x00,0x00,0x05] + vpcmpnltw 291(%rax,%r14,8), %zmm29, %k3 + +// CHECK: vpcmpnltw 8128(%rdx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x5a,0x7f,0x05] + vpcmpnltw 8128(%rdx), %zmm29, %k3 + +// CHECK: vpcmpnltw 8192(%rdx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x9a,0x00,0x20,0x00,0x00,0x05] + vpcmpnltw 8192(%rdx), %zmm29, %k3 + +// CHECK: vpcmpnltw -8192(%rdx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x5a,0x80,0x05] + vpcmpnltw -8192(%rdx), %zmm29, %k3 + +// CHECK: vpcmpnltw -8256(%rdx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x9a,0xc0,0xdf,0xff,0xff,0x05] + vpcmpnltw -8256(%rdx), %zmm29, %k3 + +// CHECK: vpcmpnlew %zmm25, %zmm29, %k3 +// CHECK: encoding: [0x62,0x93,0x95,0x40,0x3f,0xd9,0x06] + vpcmpnlew %zmm25, %zmm29, %k3 + +// CHECK: vpcmpnlew %zmm25, %zmm29, %k3 {%k6} +// CHECK: encoding: [0x62,0x93,0x95,0x46,0x3f,0xd9,0x06] + vpcmpnlew %zmm25, %zmm29, %k3 {%k6} + +// CHECK: vpcmpnlew (%rcx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x19,0x06] + vpcmpnlew (%rcx), %zmm29, %k3 + +// CHECK: vpcmpnlew 291(%rax,%r14,8), %zmm29, %k3 +// CHECK: encoding: [0x62,0xb3,0x95,0x40,0x3f,0x9c,0xf0,0x23,0x01,0x00,0x00,0x06] + vpcmpnlew 291(%rax,%r14,8), %zmm29, %k3 + +// CHECK: vpcmpnlew 8128(%rdx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x5a,0x7f,0x06] + vpcmpnlew 8128(%rdx), %zmm29, %k3 + +// CHECK: vpcmpnlew 8192(%rdx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x9a,0x00,0x20,0x00,0x00,0x06] + vpcmpnlew 8192(%rdx), %zmm29, %k3 + +// CHECK: vpcmpnlew -8192(%rdx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x5a,0x80,0x06] + vpcmpnlew -8192(%rdx), %zmm29, %k3 + +// CHECK: vpcmpnlew -8256(%rdx), %zmm29, %k3 +// CHECK: encoding: [0x62,0xf3,0x95,0x40,0x3f,0x9a,0xc0,0xdf,0xff,0xff,0x06] + vpcmpnlew -8256(%rdx), %zmm29, %k3 + // CHECK: vpcmpub $171, %zmm22, %zmm29, %k4 // CHECK: encoding: [0x62,0xb3,0x15,0x40,0x3e,0xe6,0xab] vpcmpub $171, %zmm22, %zmm29, %k4 @@ -984,6 +1304,222 @@ // CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0xa2,0xc0,0xdf,0xff,0xff,0x7b] vpcmpub $123, -8256(%rdx), %zmm29, %k4 +// CHECK: vpcmpequb %zmm22, %zmm29, %k4 +// CHECK: encoding: [0x62,0xb3,0x15,0x40,0x3e,0xe6,0x00] + vpcmpequb %zmm22, %zmm29, %k4 + +// CHECK: vpcmpequb %zmm22, %zmm29, %k4 {%k7} +// CHECK: encoding: [0x62,0xb3,0x15,0x47,0x3e,0xe6,0x00] + vpcmpequb %zmm22, %zmm29, %k4 {%k7} + +// CHECK: vpcmpequb %zmm22, %zmm29, %k4 +// CHECK: encoding: [0x62,0xb3,0x15,0x40,0x3e,0xe6,0x00] + vpcmpequb %zmm22, %zmm29, %k4 + +// CHECK: vpcmpequb (%rcx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0x21,0x00] + vpcmpequb (%rcx), %zmm29, %k4 + +// CHECK: vpcmpequb 291(%rax,%r14,8), %zmm29, %k4 +// CHECK: encoding: [0x62,0xb3,0x15,0x40,0x3e,0xa4,0xf0,0x23,0x01,0x00,0x00,0x00] + vpcmpequb 291(%rax,%r14,8), %zmm29, %k4 + +// CHECK: vpcmpequb 8128(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0x62,0x7f,0x00] + vpcmpequb 8128(%rdx), %zmm29, %k4 + +// CHECK: vpcmpequb 8192(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0xa2,0x00,0x20,0x00,0x00,0x00] + vpcmpequb 8192(%rdx), %zmm29, %k4 + +// CHECK: vpcmpequb -8192(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0x62,0x80,0x00] + vpcmpequb -8192(%rdx), %zmm29, %k4 + +// CHECK: vpcmpequb -8256(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0xa2,0xc0,0xdf,0xff,0xff,0x00] + vpcmpequb -8256(%rdx), %zmm29, %k4 + +// CHECK: vpcmpltub %zmm22, %zmm29, %k4 +// CHECK: encoding: [0x62,0xb3,0x15,0x40,0x3e,0xe6,0x01] + vpcmpltub %zmm22, %zmm29, %k4 + +// CHECK: vpcmpltub %zmm22, %zmm29, %k4 {%k7} +// CHECK: encoding: [0x62,0xb3,0x15,0x47,0x3e,0xe6,0x01] + vpcmpltub %zmm22, %zmm29, %k4 {%k7} + +// CHECK: vpcmpltub %zmm22, %zmm29, %k4 +// CHECK: encoding: [0x62,0xb3,0x15,0x40,0x3e,0xe6,0x01] + vpcmpltub %zmm22, %zmm29, %k4 + +// CHECK: vpcmpltub (%rcx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0x21,0x01] + vpcmpltub (%rcx), %zmm29, %k4 + +// CHECK: vpcmpltub 291(%rax,%r14,8), %zmm29, %k4 +// CHECK: encoding: [0x62,0xb3,0x15,0x40,0x3e,0xa4,0xf0,0x23,0x01,0x00,0x00,0x01] + vpcmpltub 291(%rax,%r14,8), %zmm29, %k4 + +// CHECK: vpcmpltub 8128(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0x62,0x7f,0x01] + vpcmpltub 8128(%rdx), %zmm29, %k4 + +// CHECK: vpcmpltub 8192(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0xa2,0x00,0x20,0x00,0x00,0x01] + vpcmpltub 8192(%rdx), %zmm29, %k4 + +// CHECK: vpcmpltub -8192(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0x62,0x80,0x01] + vpcmpltub -8192(%rdx), %zmm29, %k4 + +// CHECK: vpcmpltub -8256(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0xa2,0xc0,0xdf,0xff,0xff,0x01] + vpcmpltub -8256(%rdx), %zmm29, %k4 + +// CHECK: vpcmpleub %zmm22, %zmm29, %k4 +// CHECK: encoding: [0x62,0xb3,0x15,0x40,0x3e,0xe6,0x02] + vpcmpleub %zmm22, %zmm29, %k4 + +// CHECK: vpcmpleub %zmm22, %zmm29, %k4 {%k7} +// CHECK: encoding: [0x62,0xb3,0x15,0x47,0x3e,0xe6,0x02] + vpcmpleub %zmm22, %zmm29, %k4 {%k7} + +// CHECK: vpcmpleub %zmm22, %zmm29, %k4 +// CHECK: encoding: [0x62,0xb3,0x15,0x40,0x3e,0xe6,0x02] + vpcmpleub %zmm22, %zmm29, %k4 + +// CHECK: vpcmpleub (%rcx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0x21,0x02] + vpcmpleub (%rcx), %zmm29, %k4 + +// CHECK: vpcmpleub 291(%rax,%r14,8), %zmm29, %k4 +// CHECK: encoding: [0x62,0xb3,0x15,0x40,0x3e,0xa4,0xf0,0x23,0x01,0x00,0x00,0x02] + vpcmpleub 291(%rax,%r14,8), %zmm29, %k4 + +// CHECK: vpcmpleub 8128(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0x62,0x7f,0x02] + vpcmpleub 8128(%rdx), %zmm29, %k4 + +// CHECK: vpcmpleub 8192(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0xa2,0x00,0x20,0x00,0x00,0x02] + vpcmpleub 8192(%rdx), %zmm29, %k4 + +// CHECK: vpcmpleub -8192(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0x62,0x80,0x02] + vpcmpleub -8192(%rdx), %zmm29, %k4 + +// CHECK: vpcmpleub -8256(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0xa2,0xc0,0xdf,0xff,0xff,0x02] + vpcmpleub -8256(%rdx), %zmm29, %k4 + +// CHECK: vpcmpnequb %zmm22, %zmm29, %k4 +// CHECK: encoding: [0x62,0xb3,0x15,0x40,0x3e,0xe6,0x04] + vpcmpnequb %zmm22, %zmm29, %k4 + +// CHECK: vpcmpnequb %zmm22, %zmm29, %k4 {%k7} +// CHECK: encoding: [0x62,0xb3,0x15,0x47,0x3e,0xe6,0x04] + vpcmpnequb %zmm22, %zmm29, %k4 {%k7} + +// CHECK: vpcmpnequb %zmm22, %zmm29, %k4 +// CHECK: encoding: [0x62,0xb3,0x15,0x40,0x3e,0xe6,0x04] + vpcmpnequb %zmm22, %zmm29, %k4 + +// CHECK: vpcmpnequb (%rcx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0x21,0x04] + vpcmpnequb (%rcx), %zmm29, %k4 + +// CHECK: vpcmpnequb 291(%rax,%r14,8), %zmm29, %k4 +// CHECK: encoding: [0x62,0xb3,0x15,0x40,0x3e,0xa4,0xf0,0x23,0x01,0x00,0x00,0x04] + vpcmpnequb 291(%rax,%r14,8), %zmm29, %k4 + +// CHECK: vpcmpnequb 8128(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0x62,0x7f,0x04] + vpcmpnequb 8128(%rdx), %zmm29, %k4 + +// CHECK: vpcmpnequb 8192(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0xa2,0x00,0x20,0x00,0x00,0x04] + vpcmpnequb 8192(%rdx), %zmm29, %k4 + +// CHECK: vpcmpnequb -8192(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0x62,0x80,0x04] + vpcmpnequb -8192(%rdx), %zmm29, %k4 + +// CHECK: vpcmpnequb -8256(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0xa2,0xc0,0xdf,0xff,0xff,0x04] + vpcmpnequb -8256(%rdx), %zmm29, %k4 + +// CHECK: vpcmpnltub %zmm22, %zmm29, %k4 +// CHECK: encoding: [0x62,0xb3,0x15,0x40,0x3e,0xe6,0x05] + vpcmpnltub %zmm22, %zmm29, %k4 + +// CHECK: vpcmpnltub %zmm22, %zmm29, %k4 {%k7} +// CHECK: encoding: [0x62,0xb3,0x15,0x47,0x3e,0xe6,0x05] + vpcmpnltub %zmm22, %zmm29, %k4 {%k7} + +// CHECK: vpcmpnltub %zmm22, %zmm29, %k4 +// CHECK: encoding: [0x62,0xb3,0x15,0x40,0x3e,0xe6,0x05] + vpcmpnltub %zmm22, %zmm29, %k4 + +// CHECK: vpcmpnltub (%rcx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0x21,0x05] + vpcmpnltub (%rcx), %zmm29, %k4 + +// CHECK: vpcmpnltub 291(%rax,%r14,8), %zmm29, %k4 +// CHECK: encoding: [0x62,0xb3,0x15,0x40,0x3e,0xa4,0xf0,0x23,0x01,0x00,0x00,0x05] + vpcmpnltub 291(%rax,%r14,8), %zmm29, %k4 + +// CHECK: vpcmpnltub 8128(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0x62,0x7f,0x05] + vpcmpnltub 8128(%rdx), %zmm29, %k4 + +// CHECK: vpcmpnltub 8192(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0xa2,0x00,0x20,0x00,0x00,0x05] + vpcmpnltub 8192(%rdx), %zmm29, %k4 + +// CHECK: vpcmpnltub -8192(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0x62,0x80,0x05] + vpcmpnltub -8192(%rdx), %zmm29, %k4 + +// CHECK: vpcmpnltub -8256(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0xa2,0xc0,0xdf,0xff,0xff,0x05] + vpcmpnltub -8256(%rdx), %zmm29, %k4 + +// CHECK: vpcmpnleub %zmm22, %zmm29, %k4 +// CHECK: encoding: [0x62,0xb3,0x15,0x40,0x3e,0xe6,0x06] + vpcmpnleub %zmm22, %zmm29, %k4 + +// CHECK: vpcmpnleub %zmm22, %zmm29, %k4 {%k7} +// CHECK: encoding: [0x62,0xb3,0x15,0x47,0x3e,0xe6,0x06] + vpcmpnleub %zmm22, %zmm29, %k4 {%k7} + +// CHECK: vpcmpnleub %zmm22, %zmm29, %k4 +// CHECK: encoding: [0x62,0xb3,0x15,0x40,0x3e,0xe6,0x06] + vpcmpnleub %zmm22, %zmm29, %k4 + +// CHECK: vpcmpnleub (%rcx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0x21,0x06] + vpcmpnleub (%rcx), %zmm29, %k4 + +// CHECK: vpcmpnleub 291(%rax,%r14,8), %zmm29, %k4 +// CHECK: encoding: [0x62,0xb3,0x15,0x40,0x3e,0xa4,0xf0,0x23,0x01,0x00,0x00,0x06] + vpcmpnleub 291(%rax,%r14,8), %zmm29, %k4 + +// CHECK: vpcmpnleub 8128(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0x62,0x7f,0x06] + vpcmpnleub 8128(%rdx), %zmm29, %k4 + +// CHECK: vpcmpnleub 8192(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0xa2,0x00,0x20,0x00,0x00,0x06] + vpcmpnleub 8192(%rdx), %zmm29, %k4 + +// CHECK: vpcmpnleub -8192(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0x62,0x80,0x06] + vpcmpnleub -8192(%rdx), %zmm29, %k4 + +// CHECK: vpcmpnleub -8256(%rdx), %zmm29, %k4 +// CHECK: encoding: [0x62,0xf3,0x15,0x40,0x3e,0xa2,0xc0,0xdf,0xff,0xff,0x06] + vpcmpnleub -8256(%rdx), %zmm29, %k4 + // CHECK: vpcmpuw $171, %zmm22, %zmm22, %k4 // CHECK: encoding: [0x62,0xb3,0xcd,0x40,0x3e,0xe6,0xab] vpcmpuw $171, %zmm22, %zmm22, %k4 @@ -1019,3 +1555,195 @@ // CHECK: vpcmpuw $123, -8256(%rdx), %zmm22, %k4 // CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0xa2,0xc0,0xdf,0xff,0xff,0x7b] vpcmpuw $123, -8256(%rdx), %zmm22, %k4 + +// CHECK: vpcmpequw %zmm22, %zmm22, %k4 +// CHECK: encoding: [0x62,0xb3,0xcd,0x40,0x3e,0xe6,0x00] + vpcmpequw %zmm22, %zmm22, %k4 + +// CHECK: vpcmpequw %zmm22, %zmm22, %k4 {%k7} +// CHECK: encoding: [0x62,0xb3,0xcd,0x47,0x3e,0xe6,0x00] + vpcmpequw %zmm22, %zmm22, %k4 {%k7} + +// CHECK: vpcmpequw (%rcx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0x21,0x00] + vpcmpequw (%rcx), %zmm22, %k4 + +// CHECK: vpcmpequw 291(%rax,%r14,8), %zmm22, %k4 +// CHECK: encoding: [0x62,0xb3,0xcd,0x40,0x3e,0xa4,0xf0,0x23,0x01,0x00,0x00,0x00] + vpcmpequw 291(%rax,%r14,8), %zmm22, %k4 + +// CHECK: vpcmpequw 8128(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0x62,0x7f,0x00] + vpcmpequw 8128(%rdx), %zmm22, %k4 + +// CHECK: vpcmpequw 8192(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0xa2,0x00,0x20,0x00,0x00,0x00] + vpcmpequw 8192(%rdx), %zmm22, %k4 + +// CHECK: vpcmpequw -8192(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0x62,0x80,0x00] + vpcmpequw -8192(%rdx), %zmm22, %k4 + +// CHECK: vpcmpequw -8256(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0xa2,0xc0,0xdf,0xff,0xff,0x00] + vpcmpequw -8256(%rdx), %zmm22, %k4 + +// CHECK: vpcmpltuw %zmm22, %zmm22, %k4 +// CHECK: encoding: [0x62,0xb3,0xcd,0x40,0x3e,0xe6,0x01] + vpcmpltuw %zmm22, %zmm22, %k4 + +// CHECK: vpcmpltuw %zmm22, %zmm22, %k4 {%k7} +// CHECK: encoding: [0x62,0xb3,0xcd,0x47,0x3e,0xe6,0x01] + vpcmpltuw %zmm22, %zmm22, %k4 {%k7} + +// CHECK: vpcmpltuw (%rcx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0x21,0x01] + vpcmpltuw (%rcx), %zmm22, %k4 + +// CHECK: vpcmpltuw 291(%rax,%r14,8), %zmm22, %k4 +// CHECK: encoding: [0x62,0xb3,0xcd,0x40,0x3e,0xa4,0xf0,0x23,0x01,0x00,0x00,0x01] + vpcmpltuw 291(%rax,%r14,8), %zmm22, %k4 + +// CHECK: vpcmpltuw 8128(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0x62,0x7f,0x01] + vpcmpltuw 8128(%rdx), %zmm22, %k4 + +// CHECK: vpcmpltuw 8192(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0xa2,0x00,0x20,0x00,0x00,0x01] + vpcmpltuw 8192(%rdx), %zmm22, %k4 + +// CHECK: vpcmpltuw -8192(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0x62,0x80,0x01] + vpcmpltuw -8192(%rdx), %zmm22, %k4 + +// CHECK: vpcmpltuw -8256(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0xa2,0xc0,0xdf,0xff,0xff,0x01] + vpcmpltuw -8256(%rdx), %zmm22, %k4 + +// CHECK: vpcmpleuw %zmm22, %zmm22, %k4 +// CHECK: encoding: [0x62,0xb3,0xcd,0x40,0x3e,0xe6,0x02] + vpcmpleuw %zmm22, %zmm22, %k4 + +// CHECK: vpcmpleuw %zmm22, %zmm22, %k4 {%k7} +// CHECK: encoding: [0x62,0xb3,0xcd,0x47,0x3e,0xe6,0x02] + vpcmpleuw %zmm22, %zmm22, %k4 {%k7} + +// CHECK: vpcmpleuw (%rcx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0x21,0x02] + vpcmpleuw (%rcx), %zmm22, %k4 + +// CHECK: vpcmpleuw 291(%rax,%r14,8), %zmm22, %k4 +// CHECK: encoding: [0x62,0xb3,0xcd,0x40,0x3e,0xa4,0xf0,0x23,0x01,0x00,0x00,0x02] + vpcmpleuw 291(%rax,%r14,8), %zmm22, %k4 + +// CHECK: vpcmpleuw 8128(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0x62,0x7f,0x02] + vpcmpleuw 8128(%rdx), %zmm22, %k4 + +// CHECK: vpcmpleuw 8192(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0xa2,0x00,0x20,0x00,0x00,0x02] + vpcmpleuw 8192(%rdx), %zmm22, %k4 + +// CHECK: vpcmpleuw -8192(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0x62,0x80,0x02] + vpcmpleuw -8192(%rdx), %zmm22, %k4 + +// CHECK: vpcmpleuw -8256(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0xa2,0xc0,0xdf,0xff,0xff,0x02] + vpcmpleuw -8256(%rdx), %zmm22, %k4 + +// CHECK: vpcmpnequw %zmm22, %zmm22, %k4 +// CHECK: encoding: [0x62,0xb3,0xcd,0x40,0x3e,0xe6,0x04] + vpcmpnequw %zmm22, %zmm22, %k4 + +// CHECK: vpcmpnequw %zmm22, %zmm22, %k4 {%k7} +// CHECK: encoding: [0x62,0xb3,0xcd,0x47,0x3e,0xe6,0x04] + vpcmpnequw %zmm22, %zmm22, %k4 {%k7} + +// CHECK: vpcmpnequw (%rcx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0x21,0x04] + vpcmpnequw (%rcx), %zmm22, %k4 + +// CHECK: vpcmpnequw 291(%rax,%r14,8), %zmm22, %k4 +// CHECK: encoding: [0x62,0xb3,0xcd,0x40,0x3e,0xa4,0xf0,0x23,0x01,0x00,0x00,0x04] + vpcmpnequw 291(%rax,%r14,8), %zmm22, %k4 + +// CHECK: vpcmpnequw 8128(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0x62,0x7f,0x04] + vpcmpnequw 8128(%rdx), %zmm22, %k4 + +// CHECK: vpcmpnequw 8192(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0xa2,0x00,0x20,0x00,0x00,0x04] + vpcmpnequw 8192(%rdx), %zmm22, %k4 + +// CHECK: vpcmpnequw -8192(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0x62,0x80,0x04] + vpcmpnequw -8192(%rdx), %zmm22, %k4 + +// CHECK: vpcmpnequw -8256(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0xa2,0xc0,0xdf,0xff,0xff,0x04] + vpcmpnequw -8256(%rdx), %zmm22, %k4 + +// CHECK: vpcmpnltuw %zmm22, %zmm22, %k4 +// CHECK: encoding: [0x62,0xb3,0xcd,0x40,0x3e,0xe6,0x05] + vpcmpnltuw %zmm22, %zmm22, %k4 + +// CHECK: vpcmpnltuw %zmm22, %zmm22, %k4 {%k7} +// CHECK: encoding: [0x62,0xb3,0xcd,0x47,0x3e,0xe6,0x05] + vpcmpnltuw %zmm22, %zmm22, %k4 {%k7} + +// CHECK: vpcmpnltuw (%rcx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0x21,0x05] + vpcmpnltuw (%rcx), %zmm22, %k4 + +// CHECK: vpcmpnltuw 291(%rax,%r14,8), %zmm22, %k4 +// CHECK: encoding: [0x62,0xb3,0xcd,0x40,0x3e,0xa4,0xf0,0x23,0x01,0x00,0x00,0x05] + vpcmpnltuw 291(%rax,%r14,8), %zmm22, %k4 + +// CHECK: vpcmpnltuw 8128(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0x62,0x7f,0x05] + vpcmpnltuw 8128(%rdx), %zmm22, %k4 + +// CHECK: vpcmpnltuw 8192(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0xa2,0x00,0x20,0x00,0x00,0x05] + vpcmpnltuw 8192(%rdx), %zmm22, %k4 + +// CHECK: vpcmpnltuw -8192(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0x62,0x80,0x05] + vpcmpnltuw -8192(%rdx), %zmm22, %k4 + +// CHECK: vpcmpnltuw -8256(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0xa2,0xc0,0xdf,0xff,0xff,0x05] + vpcmpnltuw -8256(%rdx), %zmm22, %k4 + +// CHECK: vpcmpnleuw %zmm22, %zmm22, %k4 +// CHECK: encoding: [0x62,0xb3,0xcd,0x40,0x3e,0xe6,0x06] + vpcmpnleuw %zmm22, %zmm22, %k4 + +// CHECK: vpcmpnleuw %zmm22, %zmm22, %k4 {%k7} +// CHECK: encoding: [0x62,0xb3,0xcd,0x47,0x3e,0xe6,0x06] + vpcmpnleuw %zmm22, %zmm22, %k4 {%k7} + +// CHECK: vpcmpnleuw (%rcx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0x21,0x06] + vpcmpnleuw (%rcx), %zmm22, %k4 + +// CHECK: vpcmpnleuw 291(%rax,%r14,8), %zmm22, %k4 +// CHECK: encoding: [0x62,0xb3,0xcd,0x40,0x3e,0xa4,0xf0,0x23,0x01,0x00,0x00,0x06] + vpcmpnleuw 291(%rax,%r14,8), %zmm22, %k4 + +// CHECK: vpcmpnleuw 8128(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0x62,0x7f,0x06] + vpcmpnleuw 8128(%rdx), %zmm22, %k4 + +// CHECK: vpcmpnleuw 8192(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0xa2,0x00,0x20,0x00,0x00,0x06] + vpcmpnleuw 8192(%rdx), %zmm22, %k4 + +// CHECK: vpcmpnleuw -8192(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0x62,0x80,0x06] + vpcmpnleuw -8192(%rdx), %zmm22, %k4 + +// CHECK: vpcmpnleuw -8256(%rdx), %zmm22, %k4 +// CHECK: encoding: [0x62,0xf3,0xcd,0x40,0x3e,0xa2,0xc0,0xdf,0xff,0xff,0x06] + vpcmpnleuw -8256(%rdx), %zmm22, %k4