mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-30 17:33:24 +00:00
Add support for AVX enhanced comparison predicates. Patch from Kay Tiong Khoo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153935 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
90e7d4f6f0
commit
769bbfd951
@ -1527,6 +1527,9 @@ static int readOperands(struct InternalInstruction* insn) {
|
|||||||
if (insn->spec->operands[index].type == TYPE_IMM3 &&
|
if (insn->spec->operands[index].type == TYPE_IMM3 &&
|
||||||
insn->immediates[insn->numImmediatesConsumed - 1] > 7)
|
insn->immediates[insn->numImmediatesConsumed - 1] > 7)
|
||||||
return -1;
|
return -1;
|
||||||
|
if (insn->spec->operands[index].type == TYPE_IMM5 &&
|
||||||
|
insn->immediates[insn->numImmediatesConsumed - 1] > 31)
|
||||||
|
return -1;
|
||||||
if (insn->spec->operands[index].type == TYPE_XMM128 ||
|
if (insn->spec->operands[index].type == TYPE_XMM128 ||
|
||||||
insn->spec->operands[index].type == TYPE_XMM256)
|
insn->spec->operands[index].type == TYPE_XMM256)
|
||||||
sawRegImm = 1;
|
sawRegImm = 1;
|
||||||
|
@ -273,6 +273,7 @@ struct ContextDecision {
|
|||||||
ENUM_ENTRY(TYPE_IMM32, "4-byte") \
|
ENUM_ENTRY(TYPE_IMM32, "4-byte") \
|
||||||
ENUM_ENTRY(TYPE_IMM64, "8-byte") \
|
ENUM_ENTRY(TYPE_IMM64, "8-byte") \
|
||||||
ENUM_ENTRY(TYPE_IMM3, "1-byte immediate operand between 0 and 7") \
|
ENUM_ENTRY(TYPE_IMM3, "1-byte immediate operand between 0 and 7") \
|
||||||
|
ENUM_ENTRY(TYPE_IMM5, "1-byte immediate operand between 0 and 31") \
|
||||||
ENUM_ENTRY(TYPE_RM8, "1-byte register or memory operand") \
|
ENUM_ENTRY(TYPE_RM8, "1-byte register or memory operand") \
|
||||||
ENUM_ENTRY(TYPE_RM16, "2-byte") \
|
ENUM_ENTRY(TYPE_RM16, "2-byte") \
|
||||||
ENUM_ENTRY(TYPE_RM32, "4-byte") \
|
ENUM_ENTRY(TYPE_RM32, "4-byte") \
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
#include "X86MachineFunctionInfo.h"
|
#include "X86MachineFunctionInfo.h"
|
||||||
#include "X86TargetMachine.h"
|
#include "X86TargetMachine.h"
|
||||||
#include "InstPrinter/X86ATTInstPrinter.h"
|
#include "InstPrinter/X86ATTInstPrinter.h"
|
||||||
#include "InstPrinter/X86IntelInstPrinter.h"
|
|
||||||
#include "llvm/CallingConv.h"
|
#include "llvm/CallingConv.h"
|
||||||
#include "llvm/DerivedTypes.h"
|
#include "llvm/DerivedTypes.h"
|
||||||
#include "llvm/Module.h"
|
#include "llvm/Module.h"
|
||||||
@ -265,8 +264,8 @@ void X86AsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNo,
|
|||||||
void X86AsmPrinter::printSSECC(const MachineInstr *MI, unsigned Op,
|
void X86AsmPrinter::printSSECC(const MachineInstr *MI, unsigned Op,
|
||||||
raw_ostream &O) {
|
raw_ostream &O) {
|
||||||
unsigned char value = MI->getOperand(Op).getImm();
|
unsigned char value = MI->getOperand(Op).getImm();
|
||||||
assert(value <= 7 && "Invalid ssecc argument!");
|
|
||||||
switch (value) {
|
switch (value) {
|
||||||
|
default: llvm_unreachable("Invalid ssecc argument!");
|
||||||
case 0: O << "eq"; break;
|
case 0: O << "eq"; break;
|
||||||
case 1: O << "lt"; break;
|
case 1: O << "lt"; break;
|
||||||
case 2: O << "le"; break;
|
case 2: O << "le"; break;
|
||||||
|
@ -374,6 +374,11 @@ def SSECC : Operand<i8> {
|
|||||||
let OperandType = "OPERAND_IMMEDIATE";
|
let OperandType = "OPERAND_IMMEDIATE";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def AVXCC : Operand<i8> {
|
||||||
|
let PrintMethod = "printSSECC";
|
||||||
|
let OperandType = "OPERAND_IMMEDIATE";
|
||||||
|
}
|
||||||
|
|
||||||
class ImmSExtAsmOperandClass : AsmOperandClass {
|
class ImmSExtAsmOperandClass : AsmOperandClass {
|
||||||
let SuperClasses = [ImmAsmOperand];
|
let SuperClasses = [ImmAsmOperand];
|
||||||
let RenderMethod = "addImmOperands";
|
let RenderMethod = "addImmOperands";
|
||||||
|
@ -2162,15 +2162,15 @@ def : Pat<(v4f64 (fextend (loadv4f32 addr:$src))),
|
|||||||
|
|
||||||
// sse12_cmp_scalar - sse 1 & 2 compare scalar instructions
|
// sse12_cmp_scalar - sse 1 & 2 compare scalar instructions
|
||||||
multiclass sse12_cmp_scalar<RegisterClass RC, X86MemOperand x86memop,
|
multiclass sse12_cmp_scalar<RegisterClass RC, X86MemOperand x86memop,
|
||||||
SDNode OpNode, ValueType VT, PatFrag ld_frag,
|
Operand CC, SDNode OpNode, ValueType VT,
|
||||||
string asm, string asm_alt,
|
PatFrag ld_frag, string asm, string asm_alt,
|
||||||
OpndItins itins> {
|
OpndItins itins> {
|
||||||
def rr : SIi8<0xC2, MRMSrcReg,
|
def rr : SIi8<0xC2, MRMSrcReg,
|
||||||
(outs RC:$dst), (ins RC:$src1, RC:$src2, SSECC:$cc), asm,
|
(outs RC:$dst), (ins RC:$src1, RC:$src2, CC:$cc), asm,
|
||||||
[(set RC:$dst, (OpNode (VT RC:$src1), RC:$src2, imm:$cc))],
|
[(set RC:$dst, (OpNode (VT RC:$src1), RC:$src2, imm:$cc))],
|
||||||
itins.rr>;
|
itins.rr>;
|
||||||
def rm : SIi8<0xC2, MRMSrcMem,
|
def rm : SIi8<0xC2, MRMSrcMem,
|
||||||
(outs RC:$dst), (ins RC:$src1, x86memop:$src2, SSECC:$cc), asm,
|
(outs RC:$dst), (ins RC:$src1, x86memop:$src2, CC:$cc), asm,
|
||||||
[(set RC:$dst, (OpNode (VT RC:$src1),
|
[(set RC:$dst, (OpNode (VT RC:$src1),
|
||||||
(ld_frag addr:$src2), imm:$cc))],
|
(ld_frag addr:$src2), imm:$cc))],
|
||||||
itins.rm>;
|
itins.rm>;
|
||||||
@ -2187,57 +2187,57 @@ multiclass sse12_cmp_scalar<RegisterClass RC, X86MemOperand x86memop,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
defm VCMPSS : sse12_cmp_scalar<FR32, f32mem, X86cmpss, f32, loadf32,
|
defm VCMPSS : sse12_cmp_scalar<FR32, f32mem, AVXCC, X86cmpss, f32, loadf32,
|
||||||
"cmp${cc}ss\t{$src2, $src1, $dst|$dst, $src1, $src2}",
|
"cmp${cc}ss\t{$src2, $src1, $dst|$dst, $src1, $src2}",
|
||||||
"cmpss\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}",
|
"cmpss\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}",
|
||||||
SSE_ALU_F32S>,
|
SSE_ALU_F32S>,
|
||||||
XS, VEX_4V, VEX_LIG;
|
XS, VEX_4V, VEX_LIG;
|
||||||
defm VCMPSD : sse12_cmp_scalar<FR64, f64mem, X86cmpsd, f64, loadf64,
|
defm VCMPSD : sse12_cmp_scalar<FR64, f64mem, AVXCC, X86cmpsd, f64, loadf64,
|
||||||
"cmp${cc}sd\t{$src2, $src1, $dst|$dst, $src1, $src2}",
|
"cmp${cc}sd\t{$src2, $src1, $dst|$dst, $src1, $src2}",
|
||||||
"cmpsd\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}",
|
"cmpsd\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}",
|
||||||
SSE_ALU_F32S>, // same latency as 32 bit compare
|
SSE_ALU_F32S>, // same latency as 32 bit compare
|
||||||
XD, VEX_4V, VEX_LIG;
|
XD, VEX_4V, VEX_LIG;
|
||||||
|
|
||||||
let Constraints = "$src1 = $dst" in {
|
let Constraints = "$src1 = $dst" in {
|
||||||
defm CMPSS : sse12_cmp_scalar<FR32, f32mem, X86cmpss, f32, loadf32,
|
defm CMPSS : sse12_cmp_scalar<FR32, f32mem, SSECC, X86cmpss, f32, loadf32,
|
||||||
"cmp${cc}ss\t{$src2, $dst|$dst, $src2}",
|
"cmp${cc}ss\t{$src2, $dst|$dst, $src2}",
|
||||||
"cmpss\t{$cc, $src2, $dst|$dst, $src2, $cc}", SSE_ALU_F32S>,
|
"cmpss\t{$cc, $src2, $dst|$dst, $src2, $cc}", SSE_ALU_F32S>,
|
||||||
XS;
|
XS;
|
||||||
defm CMPSD : sse12_cmp_scalar<FR64, f64mem, X86cmpsd, f64, loadf64,
|
defm CMPSD : sse12_cmp_scalar<FR64, f64mem, SSECC, X86cmpsd, f64, loadf64,
|
||||||
"cmp${cc}sd\t{$src2, $dst|$dst, $src2}",
|
"cmp${cc}sd\t{$src2, $dst|$dst, $src2}",
|
||||||
"cmpsd\t{$cc, $src2, $dst|$dst, $src2, $cc}",
|
"cmpsd\t{$cc, $src2, $dst|$dst, $src2, $cc}",
|
||||||
SSE_ALU_F32S>, // same latency as 32 bit compare
|
SSE_ALU_F32S>, // same latency as 32 bit compare
|
||||||
XD;
|
XD;
|
||||||
}
|
}
|
||||||
|
|
||||||
multiclass sse12_cmp_scalar_int<RegisterClass RC, X86MemOperand x86memop,
|
multiclass sse12_cmp_scalar_int<X86MemOperand x86memop, Operand CC,
|
||||||
Intrinsic Int, string asm, OpndItins itins> {
|
Intrinsic Int, string asm, OpndItins itins> {
|
||||||
def rr : SIi8<0xC2, MRMSrcReg, (outs VR128:$dst),
|
def rr : SIi8<0xC2, MRMSrcReg, (outs VR128:$dst),
|
||||||
(ins VR128:$src1, VR128:$src, SSECC:$cc), asm,
|
(ins VR128:$src1, VR128:$src, CC:$cc), asm,
|
||||||
[(set VR128:$dst, (Int VR128:$src1,
|
[(set VR128:$dst, (Int VR128:$src1,
|
||||||
VR128:$src, imm:$cc))],
|
VR128:$src, imm:$cc))],
|
||||||
itins.rr>;
|
itins.rr>;
|
||||||
def rm : SIi8<0xC2, MRMSrcMem, (outs VR128:$dst),
|
def rm : SIi8<0xC2, MRMSrcMem, (outs VR128:$dst),
|
||||||
(ins VR128:$src1, x86memop:$src, SSECC:$cc), asm,
|
(ins VR128:$src1, x86memop:$src, CC:$cc), asm,
|
||||||
[(set VR128:$dst, (Int VR128:$src1,
|
[(set VR128:$dst, (Int VR128:$src1,
|
||||||
(load addr:$src), imm:$cc))],
|
(load addr:$src), imm:$cc))],
|
||||||
itins.rm>;
|
itins.rm>;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Aliases to match intrinsics which expect XMM operand(s).
|
// Aliases to match intrinsics which expect XMM operand(s).
|
||||||
defm Int_VCMPSS : sse12_cmp_scalar_int<VR128, f32mem, int_x86_sse_cmp_ss,
|
defm Int_VCMPSS : sse12_cmp_scalar_int<f32mem, AVXCC, int_x86_sse_cmp_ss,
|
||||||
"cmp${cc}ss\t{$src, $src1, $dst|$dst, $src1, $src}",
|
"cmp${cc}ss\t{$src, $src1, $dst|$dst, $src1, $src}",
|
||||||
SSE_ALU_F32S>,
|
SSE_ALU_F32S>,
|
||||||
XS, VEX_4V;
|
XS, VEX_4V;
|
||||||
defm Int_VCMPSD : sse12_cmp_scalar_int<VR128, f64mem, int_x86_sse2_cmp_sd,
|
defm Int_VCMPSD : sse12_cmp_scalar_int<f64mem, AVXCC, int_x86_sse2_cmp_sd,
|
||||||
"cmp${cc}sd\t{$src, $src1, $dst|$dst, $src1, $src}",
|
"cmp${cc}sd\t{$src, $src1, $dst|$dst, $src1, $src}",
|
||||||
SSE_ALU_F32S>, // same latency as f32
|
SSE_ALU_F32S>, // same latency as f32
|
||||||
XD, VEX_4V;
|
XD, VEX_4V;
|
||||||
let Constraints = "$src1 = $dst" in {
|
let Constraints = "$src1 = $dst" in {
|
||||||
defm Int_CMPSS : sse12_cmp_scalar_int<VR128, f32mem, int_x86_sse_cmp_ss,
|
defm Int_CMPSS : sse12_cmp_scalar_int<f32mem, SSECC, int_x86_sse_cmp_ss,
|
||||||
"cmp${cc}ss\t{$src, $dst|$dst, $src}",
|
"cmp${cc}ss\t{$src, $dst|$dst, $src}",
|
||||||
SSE_ALU_F32S>, XS;
|
SSE_ALU_F32S>, XS;
|
||||||
defm Int_CMPSD : sse12_cmp_scalar_int<VR128, f64mem, int_x86_sse2_cmp_sd,
|
defm Int_CMPSD : sse12_cmp_scalar_int<f64mem, SSECC, int_x86_sse2_cmp_sd,
|
||||||
"cmp${cc}sd\t{$src, $dst|$dst, $src}",
|
"cmp${cc}sd\t{$src, $dst|$dst, $src}",
|
||||||
SSE_ALU_F32S>, // same latency as f32
|
SSE_ALU_F32S>, // same latency as f32
|
||||||
XD;
|
XD;
|
||||||
@ -2308,20 +2308,19 @@ let Defs = [EFLAGS] in {
|
|||||||
|
|
||||||
// sse12_cmp_packed - sse 1 & 2 compare packed instructions
|
// sse12_cmp_packed - sse 1 & 2 compare packed instructions
|
||||||
multiclass sse12_cmp_packed<RegisterClass RC, X86MemOperand x86memop,
|
multiclass sse12_cmp_packed<RegisterClass RC, X86MemOperand x86memop,
|
||||||
Intrinsic Int, string asm, string asm_alt,
|
Operand CC, Intrinsic Int, string asm,
|
||||||
Domain d> {
|
string asm_alt, Domain d> {
|
||||||
let isAsmParserOnly = 1 in {
|
|
||||||
def rri : PIi8<0xC2, MRMSrcReg,
|
def rri : PIi8<0xC2, MRMSrcReg,
|
||||||
(outs RC:$dst), (ins RC:$src1, RC:$src2, SSECC:$cc), asm,
|
(outs RC:$dst), (ins RC:$src1, RC:$src2, CC:$cc), asm,
|
||||||
[(set RC:$dst, (Int RC:$src1, RC:$src2, imm:$cc))],
|
[(set RC:$dst, (Int RC:$src1, RC:$src2, imm:$cc))],
|
||||||
IIC_SSE_CMPP_RR, d>;
|
IIC_SSE_CMPP_RR, d>;
|
||||||
def rmi : PIi8<0xC2, MRMSrcMem,
|
def rmi : PIi8<0xC2, MRMSrcMem,
|
||||||
(outs RC:$dst), (ins RC:$src1, x86memop:$src2, SSECC:$cc), asm,
|
(outs RC:$dst), (ins RC:$src1, x86memop:$src2, CC:$cc), asm,
|
||||||
[(set RC:$dst, (Int RC:$src1, (memop addr:$src2), imm:$cc))],
|
[(set RC:$dst, (Int RC:$src1, (memop addr:$src2), imm:$cc))],
|
||||||
IIC_SSE_CMPP_RM, d>;
|
IIC_SSE_CMPP_RM, d>;
|
||||||
}
|
|
||||||
|
|
||||||
// Accept explicit immediate argument form instead of comparison code.
|
// Accept explicit immediate argument form instead of comparison code.
|
||||||
|
let neverHasSideEffects = 1 in {
|
||||||
def rri_alt : PIi8<0xC2, MRMSrcReg,
|
def rri_alt : PIi8<0xC2, MRMSrcReg,
|
||||||
(outs RC:$dst), (ins RC:$src1, RC:$src2, i8imm:$cc),
|
(outs RC:$dst), (ins RC:$src1, RC:$src2, i8imm:$cc),
|
||||||
asm_alt, [], IIC_SSE_CMPP_RR, d>;
|
asm_alt, [], IIC_SSE_CMPP_RR, d>;
|
||||||
@ -2329,29 +2328,30 @@ multiclass sse12_cmp_packed<RegisterClass RC, X86MemOperand x86memop,
|
|||||||
(outs RC:$dst), (ins RC:$src1, x86memop:$src2, i8imm:$cc),
|
(outs RC:$dst), (ins RC:$src1, x86memop:$src2, i8imm:$cc),
|
||||||
asm_alt, [], IIC_SSE_CMPP_RM, d>;
|
asm_alt, [], IIC_SSE_CMPP_RM, d>;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
defm VCMPPS : sse12_cmp_packed<VR128, f128mem, int_x86_sse_cmp_ps,
|
defm VCMPPS : sse12_cmp_packed<VR128, f128mem, AVXCC, int_x86_sse_cmp_ps,
|
||||||
"cmp${cc}ps\t{$src2, $src1, $dst|$dst, $src1, $src2}",
|
"cmp${cc}ps\t{$src2, $src1, $dst|$dst, $src1, $src2}",
|
||||||
"cmpps\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}",
|
"cmpps\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}",
|
||||||
SSEPackedSingle>, TB, VEX_4V;
|
SSEPackedSingle>, TB, VEX_4V;
|
||||||
defm VCMPPD : sse12_cmp_packed<VR128, f128mem, int_x86_sse2_cmp_pd,
|
defm VCMPPD : sse12_cmp_packed<VR128, f128mem, AVXCC, int_x86_sse2_cmp_pd,
|
||||||
"cmp${cc}pd\t{$src2, $src1, $dst|$dst, $src1, $src2}",
|
"cmp${cc}pd\t{$src2, $src1, $dst|$dst, $src1, $src2}",
|
||||||
"cmppd\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}",
|
"cmppd\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}",
|
||||||
SSEPackedDouble>, TB, OpSize, VEX_4V;
|
SSEPackedDouble>, TB, OpSize, VEX_4V;
|
||||||
defm VCMPPSY : sse12_cmp_packed<VR256, f256mem, int_x86_avx_cmp_ps_256,
|
defm VCMPPSY : sse12_cmp_packed<VR256, f256mem, AVXCC, int_x86_avx_cmp_ps_256,
|
||||||
"cmp${cc}ps\t{$src2, $src1, $dst|$dst, $src1, $src2}",
|
"cmp${cc}ps\t{$src2, $src1, $dst|$dst, $src1, $src2}",
|
||||||
"cmpps\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}",
|
"cmpps\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}",
|
||||||
SSEPackedSingle>, TB, VEX_4V;
|
SSEPackedSingle>, TB, VEX_4V;
|
||||||
defm VCMPPDY : sse12_cmp_packed<VR256, f256mem, int_x86_avx_cmp_pd_256,
|
defm VCMPPDY : sse12_cmp_packed<VR256, f256mem, AVXCC, int_x86_avx_cmp_pd_256,
|
||||||
"cmp${cc}pd\t{$src2, $src1, $dst|$dst, $src1, $src2}",
|
"cmp${cc}pd\t{$src2, $src1, $dst|$dst, $src1, $src2}",
|
||||||
"cmppd\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}",
|
"cmppd\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}",
|
||||||
SSEPackedDouble>, TB, OpSize, VEX_4V;
|
SSEPackedDouble>, TB, OpSize, VEX_4V;
|
||||||
let Constraints = "$src1 = $dst" in {
|
let Constraints = "$src1 = $dst" in {
|
||||||
defm CMPPS : sse12_cmp_packed<VR128, f128mem, int_x86_sse_cmp_ps,
|
defm CMPPS : sse12_cmp_packed<VR128, f128mem, SSECC, int_x86_sse_cmp_ps,
|
||||||
"cmp${cc}ps\t{$src2, $dst|$dst, $src2}",
|
"cmp${cc}ps\t{$src2, $dst|$dst, $src2}",
|
||||||
"cmpps\t{$cc, $src2, $dst|$dst, $src2, $cc}",
|
"cmpps\t{$cc, $src2, $dst|$dst, $src2, $cc}",
|
||||||
SSEPackedSingle>, TB;
|
SSEPackedSingle>, TB;
|
||||||
defm CMPPD : sse12_cmp_packed<VR128, f128mem, int_x86_sse2_cmp_pd,
|
defm CMPPD : sse12_cmp_packed<VR128, f128mem, SSECC, int_x86_sse2_cmp_pd,
|
||||||
"cmp${cc}pd\t{$src2, $dst|$dst, $src2}",
|
"cmp${cc}pd\t{$src2, $dst|$dst, $src2}",
|
||||||
"cmppd\t{$cc, $src2, $dst|$dst, $src2, $cc}",
|
"cmppd\t{$cc, $src2, $dst|$dst, $src2, $cc}",
|
||||||
SSEPackedDouble>, TB, OpSize;
|
SSEPackedDouble>, TB, OpSize;
|
||||||
|
@ -421,6 +421,18 @@
|
|||||||
# CHECK: movl %eax, 0
|
# CHECK: movl %eax, 0
|
||||||
0xa3 0x00 0x00 0x00 0x00
|
0xa3 0x00 0x00 0x00 0x00
|
||||||
|
|
||||||
|
# CHECK: cmpordpd %xmm7, %xmm0
|
||||||
|
0x66 0x0f 0xc2 0xc7 0x07
|
||||||
|
|
||||||
|
# CHECK: cmpordps %xmm7, %xmm0
|
||||||
|
0x0f 0xc2 0xc7 0x07
|
||||||
|
|
||||||
|
# CHECK: cmpordsd %xmm7, %xmm0
|
||||||
|
0xf2 0x0f 0xc2 0xc7 0x07
|
||||||
|
|
||||||
|
# CHECK: cmpordss %xmm7, %xmm0
|
||||||
|
0xf3 0x0f 0xc2 0xc7 0x07
|
||||||
|
|
||||||
# CHECK: vaddps %xmm3, %xmm7, %xmm0
|
# CHECK: vaddps %xmm3, %xmm7, %xmm0
|
||||||
0xc4 0xe1 0x00 0x58 0xc3
|
0xc4 0xe1 0x00 0x58 0xc3
|
||||||
|
|
||||||
|
@ -600,6 +600,774 @@ vdivpd -4(%rcx,%rbx,8), %xmm10, %xmm11
|
|||||||
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x03]
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x03]
|
||||||
vcmpunordsd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
vcmpunordsd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $8, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x08]
|
||||||
|
vcmpeq_uqps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $9, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x09]
|
||||||
|
vcmpngeps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $10, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x0a]
|
||||||
|
vcmpngtps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $11, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x0b]
|
||||||
|
vcmpfalseps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $12, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x0c]
|
||||||
|
vcmpneq_oqps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $13, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x0d]
|
||||||
|
vcmpgeps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $14, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x0e]
|
||||||
|
vcmpgtps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $15, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x0f]
|
||||||
|
vcmptrueps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $16, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x10]
|
||||||
|
vcmpeq_osps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $17, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x11]
|
||||||
|
vcmplt_oqps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $18, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x12]
|
||||||
|
vcmple_oqps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $19, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x13]
|
||||||
|
vcmpunord_sps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $20, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x14]
|
||||||
|
vcmpneq_usps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $21, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x15]
|
||||||
|
vcmpnlt_uqps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $22, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x16]
|
||||||
|
vcmpnle_uqps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $23, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x17]
|
||||||
|
vcmpord_sps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $24, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x18]
|
||||||
|
vcmpeq_usps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $25, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x19]
|
||||||
|
vcmpnge_uqps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $26, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x1a]
|
||||||
|
vcmpngt_uqps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $27, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x1b]
|
||||||
|
vcmpfalse_osps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $28, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x1c]
|
||||||
|
vcmpneq_osps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $29, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x1d]
|
||||||
|
vcmpge_oqps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $30, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x1e]
|
||||||
|
vcmpgt_oqps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $31, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xeb,0x1f]
|
||||||
|
vcmptrue_usps %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $8, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x08]
|
||||||
|
vcmpeq_uqps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $9, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x09]
|
||||||
|
vcmpngeps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $10, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x0a]
|
||||||
|
vcmpngtps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $11, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x0b]
|
||||||
|
vcmpfalseps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $12, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x0c]
|
||||||
|
vcmpneq_oqps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $13, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x0d]
|
||||||
|
vcmpgeps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $14, -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
// CHECK: encoding: [0xc5,0xc8,0xc2,0x54,0xcb,0xfc,0x0e]
|
||||||
|
vcmpgtps -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
|
||||||
|
// CHECK: vcmpps $15, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x0f]
|
||||||
|
vcmptrueps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $16, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x10]
|
||||||
|
vcmpeq_osps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $17, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x11]
|
||||||
|
vcmplt_oqps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $18, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x12]
|
||||||
|
vcmple_oqps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $19, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x13]
|
||||||
|
vcmpunord_sps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $20, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x14]
|
||||||
|
vcmpneq_usps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $21, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x15]
|
||||||
|
vcmpnlt_uqps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $22, -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
// CHECK: encoding: [0xc5,0xc8,0xc2,0x54,0xcb,0xfc,0x16]
|
||||||
|
vcmpnle_uqps -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
|
||||||
|
// CHECK: vcmpps $23, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x17]
|
||||||
|
vcmpord_sps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $24, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x18]
|
||||||
|
vcmpeq_usps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $25, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x19]
|
||||||
|
vcmpnge_uqps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $26, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x1a]
|
||||||
|
vcmpngt_uqps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $27, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x1b]
|
||||||
|
vcmpfalse_osps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $28, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x1c]
|
||||||
|
vcmpneq_osps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $29, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x1d]
|
||||||
|
vcmpge_oqps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpps $30, -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
// CHECK: encoding: [0xc5,0xc8,0xc2,0x54,0xcb,0xfc,0x1e]
|
||||||
|
vcmpgt_oqps -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
|
||||||
|
// CHECK: vcmpps $31, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x18,0xc2,0x6c,0xcb,0xfc,0x1f]
|
||||||
|
vcmptrue_usps -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $8, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x08]
|
||||||
|
vcmpeq_uqpd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $9, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x09]
|
||||||
|
vcmpngepd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $10, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x0a]
|
||||||
|
vcmpngtpd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $11, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x0b]
|
||||||
|
vcmpfalsepd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $12, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x0c]
|
||||||
|
vcmpneq_oqpd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $13, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x0d]
|
||||||
|
vcmpgepd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $14, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x0e]
|
||||||
|
vcmpgtpd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $15, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x0f]
|
||||||
|
vcmptruepd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $16, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x10]
|
||||||
|
vcmpeq_ospd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $17, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x11]
|
||||||
|
vcmplt_oqpd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $18, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x12]
|
||||||
|
vcmple_oqpd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $19, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x13]
|
||||||
|
vcmpunord_spd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $20, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x14]
|
||||||
|
vcmpneq_uspd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $21, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x15]
|
||||||
|
vcmpnlt_uqpd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $22, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x16]
|
||||||
|
vcmpnle_uqpd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $23, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x17]
|
||||||
|
vcmpord_spd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $24, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x18]
|
||||||
|
vcmpeq_uspd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $25, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x19]
|
||||||
|
vcmpnge_uqpd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $26, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x1a]
|
||||||
|
vcmpngt_uqpd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $27, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x1b]
|
||||||
|
vcmpfalse_ospd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $28, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x1c]
|
||||||
|
vcmpneq_ospd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $29, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x1d]
|
||||||
|
vcmpge_oqpd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $30, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x1e]
|
||||||
|
vcmpgt_oqpd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $31, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xeb,0x1f]
|
||||||
|
vcmptrue_uspd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $8, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x08]
|
||||||
|
vcmpeq_uqpd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $9, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x09]
|
||||||
|
vcmpngepd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $10, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x0a]
|
||||||
|
vcmpngtpd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $11, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x0b]
|
||||||
|
vcmpfalsepd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $12, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x0c]
|
||||||
|
vcmpneq_oqpd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $13, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x0d]
|
||||||
|
vcmpgepd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $14, -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
// CHECK: encoding: [0xc5,0xc9,0xc2,0x54,0xcb,0xfc,0x0e]
|
||||||
|
vcmpgtpd -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
|
||||||
|
// CHECK: vcmppd $15, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x0f]
|
||||||
|
vcmptruepd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $16, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x10]
|
||||||
|
vcmpeq_ospd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $17, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x11]
|
||||||
|
vcmplt_oqpd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $18, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x12]
|
||||||
|
vcmple_oqpd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $19, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x13]
|
||||||
|
vcmpunord_spd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $20, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x14]
|
||||||
|
vcmpneq_uspd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $21, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x15]
|
||||||
|
vcmpnlt_uqpd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $22, -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
// CHECK: encoding: [0xc5,0xc9,0xc2,0x54,0xcb,0xfc,0x16]
|
||||||
|
vcmpnle_uqpd -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
|
||||||
|
// CHECK: vcmppd $23, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x17]
|
||||||
|
vcmpord_spd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $24, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x18]
|
||||||
|
vcmpeq_uspd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $25, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x19]
|
||||||
|
vcmpnge_uqpd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $26, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x1a]
|
||||||
|
vcmpngt_uqpd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $27, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x1b]
|
||||||
|
vcmpfalse_ospd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $28, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x1c]
|
||||||
|
vcmpneq_ospd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $29, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x1d]
|
||||||
|
vcmpge_oqpd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmppd $30, -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
// CHECK: encoding: [0xc5,0xc9,0xc2,0x54,0xcb,0xfc,0x1e]
|
||||||
|
vcmpgt_oqpd -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
|
||||||
|
// CHECK: vcmppd $31, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x19,0xc2,0x6c,0xcb,0xfc,0x1f]
|
||||||
|
vcmptrue_uspd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $8, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x08]
|
||||||
|
vcmpeq_uqss %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $9, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x09]
|
||||||
|
vcmpngess %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $10, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x0a]
|
||||||
|
vcmpngtss %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $11, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x0b]
|
||||||
|
vcmpfalsess %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $12, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x0c]
|
||||||
|
vcmpneq_oqss %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $13, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x0d]
|
||||||
|
vcmpgess %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $14, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x0e]
|
||||||
|
vcmpgtss %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $15, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x0f]
|
||||||
|
vcmptruess %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $16, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x10]
|
||||||
|
vcmpeq_osss %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $17, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x11]
|
||||||
|
vcmplt_oqss %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $18, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x12]
|
||||||
|
vcmple_oqss %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $19, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x13]
|
||||||
|
vcmpunord_sss %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $20, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x14]
|
||||||
|
vcmpneq_usss %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $21, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x15]
|
||||||
|
vcmpnlt_uqss %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $22, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x16]
|
||||||
|
vcmpnle_uqss %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $23, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x17]
|
||||||
|
vcmpord_sss %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $24, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x18]
|
||||||
|
vcmpeq_usss %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $25, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x19]
|
||||||
|
vcmpnge_uqss %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $26, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x1a]
|
||||||
|
vcmpngt_uqss %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $27, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x1b]
|
||||||
|
vcmpfalse_osss %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $28, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x1c]
|
||||||
|
vcmpneq_osss %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $29, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x1d]
|
||||||
|
vcmpge_oqss %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $30, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x1e]
|
||||||
|
vcmpgt_oqss %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $31, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1a,0xc2,0xeb,0x1f]
|
||||||
|
vcmptrue_usss %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $8, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x08]
|
||||||
|
vcmpeq_uqss -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $9, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x09]
|
||||||
|
vcmpngess -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $10, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x0a]
|
||||||
|
vcmpngtss -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $11, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x0b]
|
||||||
|
vcmpfalsess -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $12, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x0c]
|
||||||
|
vcmpneq_oqss -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $13, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x0d]
|
||||||
|
vcmpgess -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $14, -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
// CHECK: encoding: [0xc5,0xca,0xc2,0x54,0xcb,0xfc,0x0e]
|
||||||
|
vcmpgtss -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
|
||||||
|
// CHECK: vcmpss $15, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x0f]
|
||||||
|
vcmptruess -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $16, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x10]
|
||||||
|
vcmpeq_osss -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $17, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x11]
|
||||||
|
vcmplt_oqss -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $18, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x12]
|
||||||
|
vcmple_oqss -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $19, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x13]
|
||||||
|
vcmpunord_sss -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $20, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x14]
|
||||||
|
vcmpneq_usss -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $21, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x15]
|
||||||
|
vcmpnlt_uqss -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $22, -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
// CHECK: encoding: [0xc5,0xca,0xc2,0x54,0xcb,0xfc,0x16]
|
||||||
|
vcmpnle_uqss -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
|
||||||
|
// CHECK: vcmpss $23, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x17]
|
||||||
|
vcmpord_sss -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $24, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x18]
|
||||||
|
vcmpeq_usss -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $25, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x19]
|
||||||
|
vcmpnge_uqss -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $26, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x1a]
|
||||||
|
vcmpngt_uqss -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $27, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x1b]
|
||||||
|
vcmpfalse_osss -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $28, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x1c]
|
||||||
|
vcmpneq_osss -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $29, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x1d]
|
||||||
|
vcmpge_oqss -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpss $30, -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
// CHECK: encoding: [0xc5,0xca,0xc2,0x54,0xcb,0xfc,0x1e]
|
||||||
|
vcmpgt_oqss -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
|
||||||
|
// CHECK: vcmpss $31, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1a,0xc2,0x6c,0xcb,0xfc,0x1f]
|
||||||
|
vcmptrue_usss -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $8, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x08]
|
||||||
|
vcmpeq_uqsd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $9, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x09]
|
||||||
|
vcmpngesd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $10, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x0a]
|
||||||
|
vcmpngtsd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $11, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x0b]
|
||||||
|
vcmpfalsesd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $12, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x0c]
|
||||||
|
vcmpneq_oqsd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $13, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x0d]
|
||||||
|
vcmpgesd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $14, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x0e]
|
||||||
|
vcmpgtsd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $15, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x0f]
|
||||||
|
vcmptruesd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $16, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x10]
|
||||||
|
vcmpeq_ossd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $17, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x11]
|
||||||
|
vcmplt_oqsd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $18, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x12]
|
||||||
|
vcmple_oqsd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $19, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x13]
|
||||||
|
vcmpunord_ssd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $20, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x14]
|
||||||
|
vcmpneq_ussd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $21, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x15]
|
||||||
|
vcmpnlt_uqsd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $22, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x16]
|
||||||
|
vcmpnle_uqsd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $23, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x17]
|
||||||
|
vcmpord_ssd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $24, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x18]
|
||||||
|
vcmpeq_ussd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $25, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x19]
|
||||||
|
vcmpnge_uqsd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $26, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x1a]
|
||||||
|
vcmpngt_uqsd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $27, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x1b]
|
||||||
|
vcmpfalse_ossd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $28, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x1c]
|
||||||
|
vcmpneq_ossd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $29, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x1d]
|
||||||
|
vcmpge_oqsd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $30, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x1e]
|
||||||
|
vcmpgt_oqsd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $31, %xmm11, %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc4,0x41,0x1b,0xc2,0xeb,0x1f]
|
||||||
|
vcmptrue_ussd %xmm11, %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $8, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x08]
|
||||||
|
vcmpeq_uqsd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $9, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x09]
|
||||||
|
vcmpngesd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $10, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x0a]
|
||||||
|
vcmpngtsd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $11, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x0b]
|
||||||
|
vcmpfalsesd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $12, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x0c]
|
||||||
|
vcmpneq_oqsd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $13, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x0d]
|
||||||
|
vcmpgesd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $14, -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
// CHECK: encoding: [0xc5,0xcb,0xc2,0x54,0xcb,0xfc,0x0e]
|
||||||
|
vcmpgtsd -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $15, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x0f]
|
||||||
|
vcmptruesd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $16, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x10]
|
||||||
|
vcmpeq_ossd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $17, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x11]
|
||||||
|
vcmplt_oqsd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $18, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x12]
|
||||||
|
vcmple_oqsd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $19, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x13]
|
||||||
|
vcmpunord_ssd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $20, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x14]
|
||||||
|
vcmpneq_ussd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $21, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x15]
|
||||||
|
vcmpnlt_uqsd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $22, -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
// CHECK: encoding: [0xc5,0xcb,0xc2,0x54,0xcb,0xfc,0x16]
|
||||||
|
vcmpnle_uqsd -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $23, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x17]
|
||||||
|
vcmpord_ssd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $24, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x18]
|
||||||
|
vcmpeq_ussd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $25, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x19]
|
||||||
|
vcmpnge_uqsd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $26, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x1a]
|
||||||
|
vcmpngt_uqsd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $27, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x1b]
|
||||||
|
vcmpfalse_ossd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $28, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x1c]
|
||||||
|
vcmpneq_ossd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $29, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x1d]
|
||||||
|
vcmpge_oqsd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $30, -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
// CHECK: encoding: [0xc5,0xcb,0xc2,0x54,0xcb,0xfc,0x1e]
|
||||||
|
vcmpgt_oqsd -4(%rbx,%rcx,8), %xmm6, %xmm2
|
||||||
|
|
||||||
|
// CHECK: vcmpsd $31, -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
// CHECK: encoding: [0xc5,0x1b,0xc2,0x6c,0xcb,0xfc,0x1f]
|
||||||
|
vcmptrue_ussd -4(%rbx,%rcx,8), %xmm12, %xmm13
|
||||||
|
|
||||||
// CHECK: vucomiss %xmm11, %xmm12
|
// CHECK: vucomiss %xmm11, %xmm12
|
||||||
// CHECK: encoding: [0xc4,0x41,0x78,0x2e,0xe3]
|
// CHECK: encoding: [0xc4,0x41,0x78,0x2e,0xe3]
|
||||||
vucomiss %xmm11, %xmm12
|
vucomiss %xmm11, %xmm12
|
||||||
|
@ -287,6 +287,7 @@ static int X86TypeFromOpName(LiteralConstantEmitter *type,
|
|||||||
IMM("i64i8imm");
|
IMM("i64i8imm");
|
||||||
IMM("i64i32imm");
|
IMM("i64i32imm");
|
||||||
IMM("SSECC");
|
IMM("SSECC");
|
||||||
|
IMM("AVXCC");
|
||||||
|
|
||||||
// all R, I, R, I, R
|
// all R, I, R, I, R
|
||||||
MEM("i8mem");
|
MEM("i8mem");
|
||||||
|
@ -1115,6 +1115,7 @@ OperandType RecognizableInstr::typeFromString(const std::string &s,
|
|||||||
TYPE("i16imm_pcrel", TYPE_REL16)
|
TYPE("i16imm_pcrel", TYPE_REL16)
|
||||||
TYPE("i32imm_pcrel", TYPE_REL32)
|
TYPE("i32imm_pcrel", TYPE_REL32)
|
||||||
TYPE("SSECC", TYPE_IMM3)
|
TYPE("SSECC", TYPE_IMM3)
|
||||||
|
TYPE("AVXCC", TYPE_IMM5)
|
||||||
TYPE("brtarget", TYPE_RELv)
|
TYPE("brtarget", TYPE_RELv)
|
||||||
TYPE("uncondbrtarget", TYPE_RELv)
|
TYPE("uncondbrtarget", TYPE_RELv)
|
||||||
TYPE("brtarget8", TYPE_REL8)
|
TYPE("brtarget8", TYPE_REL8)
|
||||||
@ -1156,6 +1157,7 @@ OperandEncoding RecognizableInstr::immediateEncodingFromString
|
|||||||
ENCODING("i32i8imm", ENCODING_IB)
|
ENCODING("i32i8imm", ENCODING_IB)
|
||||||
ENCODING("u32u8imm", ENCODING_IB)
|
ENCODING("u32u8imm", ENCODING_IB)
|
||||||
ENCODING("SSECC", ENCODING_IB)
|
ENCODING("SSECC", ENCODING_IB)
|
||||||
|
ENCODING("AVXCC", ENCODING_IB)
|
||||||
ENCODING("i16imm", ENCODING_Iv)
|
ENCODING("i16imm", ENCODING_Iv)
|
||||||
ENCODING("i16i8imm", ENCODING_IB)
|
ENCODING("i16i8imm", ENCODING_IB)
|
||||||
ENCODING("i32imm", ENCODING_Iv)
|
ENCODING("i32imm", ENCODING_Iv)
|
||||||
|
Loading…
Reference in New Issue
Block a user