forked from OSchip/llvm-project
[X86] Match vpblendvb/vblendvps/vblendvpd itineraries to the SSE equivalent. Change pblendvb/blendvps/blendvpd to use WriteFVarBlend
llvm-svn: 328294
This commit is contained in:
parent
7580a7997d
commit
659c66dfc1
|
@ -228,21 +228,16 @@ def DEFAULT_ITINS_MPSADSCHED : OpndItins<
|
|||
IIC_ALU_NONMEM, IIC_ALU_MEM
|
||||
>;
|
||||
|
||||
let Sched = WriteFBlend in
|
||||
def DEFAULT_ITINS_FBLENDSCHED : OpndItins<
|
||||
IIC_ALU_NONMEM, IIC_ALU_MEM
|
||||
>;
|
||||
|
||||
let Sched = WriteBlend in
|
||||
def DEFAULT_ITINS_BLENDSCHED : OpndItins<
|
||||
IIC_ALU_NONMEM, IIC_ALU_MEM
|
||||
>;
|
||||
|
||||
let Sched = WriteVarBlend in
|
||||
def DEFAULT_ITINS_VARBLENDSCHED : OpndItins<
|
||||
IIC_ALU_NONMEM, IIC_ALU_MEM
|
||||
>;
|
||||
|
||||
let Sched = WriteFVarBlend in
|
||||
def DEFAULT_ITINS_FVARBLENDSCHED : OpndItins<
|
||||
IIC_ALU_NONMEM, IIC_ALU_MEM
|
||||
>;
|
||||
|
||||
let Sched = WriteFBlend in
|
||||
def SSE_INTALU_ITINS_FBLEND_P : OpndItins<
|
||||
IIC_SSE_INTALU_P_RR, IIC_SSE_INTALU_P_RM
|
||||
|
@ -6587,30 +6582,30 @@ let ExeDomain = d, Constraints = !if(Is2Addr, "$src1 = $dst", "") in {
|
|||
let Predicates = [HasAVX] in {
|
||||
defm VBLENDPS : SS41I_blend_rmi<0x0C, "vblendps", X86Blendi, v4f32,
|
||||
VR128, loadv4f32, f128mem, 0, SSEPackedSingle,
|
||||
DEFAULT_ITINS_FBLENDSCHED, BlendCommuteImm4>,
|
||||
SSE_INTALU_ITINS_FBLEND_P, BlendCommuteImm4>,
|
||||
VEX_4V, VEX_WIG;
|
||||
defm VBLENDPSY : SS41I_blend_rmi<0x0C, "vblendps", X86Blendi, v8f32,
|
||||
VR256, loadv8f32, f256mem, 0, SSEPackedSingle,
|
||||
DEFAULT_ITINS_FBLENDSCHED, BlendCommuteImm8>,
|
||||
SSE_INTALU_ITINS_FBLEND_P, BlendCommuteImm8>,
|
||||
VEX_4V, VEX_L, VEX_WIG;
|
||||
defm VBLENDPD : SS41I_blend_rmi<0x0D, "vblendpd", X86Blendi, v2f64,
|
||||
VR128, loadv2f64, f128mem, 0, SSEPackedDouble,
|
||||
DEFAULT_ITINS_FBLENDSCHED, BlendCommuteImm2>,
|
||||
SSE_INTALU_ITINS_FBLEND_P, BlendCommuteImm2>,
|
||||
VEX_4V, VEX_WIG;
|
||||
defm VBLENDPDY : SS41I_blend_rmi<0x0D, "vblendpd", X86Blendi, v4f64,
|
||||
VR256, loadv4f64, f256mem, 0, SSEPackedDouble,
|
||||
DEFAULT_ITINS_FBLENDSCHED, BlendCommuteImm4>,
|
||||
SSE_INTALU_ITINS_FBLEND_P, BlendCommuteImm4>,
|
||||
VEX_4V, VEX_L, VEX_WIG;
|
||||
defm VPBLENDW : SS41I_blend_rmi<0x0E, "vpblendw", X86Blendi, v8i16,
|
||||
VR128, loadv2i64, i128mem, 0, SSEPackedInt,
|
||||
DEFAULT_ITINS_BLENDSCHED, BlendCommuteImm8>,
|
||||
SSE_INTALU_ITINS_BLEND_P, BlendCommuteImm8>,
|
||||
VEX_4V, VEX_WIG;
|
||||
}
|
||||
|
||||
let Predicates = [HasAVX2] in {
|
||||
defm VPBLENDWY : SS41I_blend_rmi<0x0E, "vpblendw", X86Blendi, v16i16,
|
||||
VR256, loadv4i64, i256mem, 0, SSEPackedInt,
|
||||
DEFAULT_ITINS_BLENDSCHED, BlendCommuteImm8>,
|
||||
SSE_INTALU_ITINS_BLEND_P, BlendCommuteImm8>,
|
||||
VEX_4V, VEX_L, VEX_WIG;
|
||||
}
|
||||
|
||||
|
@ -6641,14 +6636,14 @@ def : Pat<(insert_subvector (v8f32 VR256:$src1), (v4f32 VR128:$src2), (iPTR 0)),
|
|||
multiclass SS41I_quaternary_int_avx<bits<8> opc, string OpcodeStr,
|
||||
RegisterClass RC, X86MemOperand x86memop,
|
||||
PatFrag mem_frag, Intrinsic IntId,
|
||||
X86FoldableSchedWrite Sched> {
|
||||
OpndItins itins> {
|
||||
def rr : Ii8Reg<opc, MRMSrcReg, (outs RC:$dst),
|
||||
(ins RC:$src1, RC:$src2, RC:$src3),
|
||||
!strconcat(OpcodeStr,
|
||||
"\t{$src3, $src2, $src1, $dst|$dst, $src1, $src2, $src3}"),
|
||||
[(set RC:$dst, (IntId RC:$src1, RC:$src2, RC:$src3))],
|
||||
NoItinerary, SSEPackedInt>, TAPD, VEX_4V,
|
||||
Sched<[Sched]>;
|
||||
itins.rr, SSEPackedInt>, TAPD, VEX_4V,
|
||||
Sched<[itins.Sched]>;
|
||||
|
||||
def rm : Ii8Reg<opc, MRMSrcMem, (outs RC:$dst),
|
||||
(ins RC:$src1, x86memop:$src2, RC:$src3),
|
||||
|
@ -6657,36 +6652,36 @@ multiclass SS41I_quaternary_int_avx<bits<8> opc, string OpcodeStr,
|
|||
[(set RC:$dst,
|
||||
(IntId RC:$src1, (bitconvert (mem_frag addr:$src2)),
|
||||
RC:$src3))],
|
||||
NoItinerary, SSEPackedInt>, TAPD, VEX_4V,
|
||||
Sched<[Sched.Folded, ReadAfterLd]>;
|
||||
itins.rm, SSEPackedInt>, TAPD, VEX_4V,
|
||||
Sched<[itins.Sched.Folded, ReadAfterLd]>;
|
||||
}
|
||||
|
||||
let Predicates = [HasAVX] in {
|
||||
let ExeDomain = SSEPackedDouble in {
|
||||
defm VBLENDVPD : SS41I_quaternary_int_avx<0x4B, "vblendvpd", VR128, f128mem,
|
||||
loadv2f64, int_x86_sse41_blendvpd,
|
||||
WriteFVarBlend>;
|
||||
DEFAULT_ITINS_FVARBLENDSCHED>;
|
||||
defm VBLENDVPDY : SS41I_quaternary_int_avx<0x4B, "vblendvpd", VR256, f256mem,
|
||||
loadv4f64, int_x86_avx_blendv_pd_256,
|
||||
WriteFVarBlend>, VEX_L;
|
||||
DEFAULT_ITINS_FVARBLENDSCHED>, VEX_L;
|
||||
} // ExeDomain = SSEPackedDouble
|
||||
let ExeDomain = SSEPackedSingle in {
|
||||
defm VBLENDVPS : SS41I_quaternary_int_avx<0x4A, "vblendvps", VR128, f128mem,
|
||||
loadv4f32, int_x86_sse41_blendvps,
|
||||
WriteFVarBlend>;
|
||||
DEFAULT_ITINS_FVARBLENDSCHED>;
|
||||
defm VBLENDVPSY : SS41I_quaternary_int_avx<0x4A, "vblendvps", VR256, f256mem,
|
||||
loadv8f32, int_x86_avx_blendv_ps_256,
|
||||
WriteFVarBlend>, VEX_L;
|
||||
DEFAULT_ITINS_FVARBLENDSCHED>, VEX_L;
|
||||
} // ExeDomain = SSEPackedSingle
|
||||
defm VPBLENDVB : SS41I_quaternary_int_avx<0x4C, "vpblendvb", VR128, i128mem,
|
||||
loadv2i64, int_x86_sse41_pblendvb,
|
||||
WriteVarBlend>;
|
||||
DEFAULT_ITINS_VARBLENDSCHED>;
|
||||
}
|
||||
|
||||
let Predicates = [HasAVX2] in {
|
||||
defm VPBLENDVBY : SS41I_quaternary_int_avx<0x4C, "vpblendvb", VR256, i256mem,
|
||||
loadv4i64, int_x86_avx2_pblendvb,
|
||||
WriteVarBlend>, VEX_L;
|
||||
DEFAULT_ITINS_VARBLENDSCHED>, VEX_L;
|
||||
}
|
||||
|
||||
let Predicates = [HasAVX] in {
|
||||
|
@ -6796,11 +6791,11 @@ let Uses = [XMM0], Constraints = "$src1 = $dst" in {
|
|||
let ExeDomain = SSEPackedDouble in
|
||||
defm BLENDVPD : SS41I_ternary_int<0x15, "blendvpd", memopv2f64, f128mem,
|
||||
int_x86_sse41_blendvpd,
|
||||
DEFAULT_ITINS_FBLENDSCHED>;
|
||||
DEFAULT_ITINS_FVARBLENDSCHED>;
|
||||
let ExeDomain = SSEPackedSingle in
|
||||
defm BLENDVPS : SS41I_ternary_int<0x14, "blendvps", memopv4f32, f128mem,
|
||||
int_x86_sse41_blendvps,
|
||||
DEFAULT_ITINS_FBLENDSCHED>;
|
||||
DEFAULT_ITINS_FVARBLENDSCHED>;
|
||||
defm PBLENDVB : SS41I_ternary_int<0x10, "pblendvb", memopv2i64, i128mem,
|
||||
int_x86_sse41_pblendvb,
|
||||
DEFAULT_ITINS_VARBLENDSCHED>;
|
||||
|
|
|
@ -167,84 +167,84 @@ roundss $1, (%rax), %xmm2
|
|||
# CHECK-NEXT: - - - 0.01 0.99 0.01 0.99 1.00 - - - - - - blendpd $11, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.99 0.01 0.99 0.01 - - - - - - - blendps $11, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.01 0.99 0.01 0.99 1.00 - - - - - - blendps $11, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - blendvpd %xmm0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.99 0.01 0.99 0.01 1.00 - - - - - - blendvpd %xmm0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.01 0.99 0.01 0.99 - - - - - - - blendvps %xmm0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.99 0.01 - 1.00 1.00 - - - - - - blendvps %xmm0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 3.94 0.06 0.99 0.01 - - - - - - - blendvpd %xmm0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.06 3.94 0.01 0.99 1.00 - - - - - - blendvpd %xmm0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.06 3.94 0.01 0.99 - - - - - - - blendvps %xmm0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 3.94 0.06 - 1.00 1.00 - - - - - - blendvps %xmm0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 3.00 3.00 - - - - - - - dppd $22, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 3.00 3.00 1.00 - - - - - - dppd $22, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 3.00 3.00 - - - - - - - dpps $22, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 3.00 3.00 1.00 - - - - - - dpps $22, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - extractps $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - 0.99 0.01 0.99 0.01 - - - - - - - extractps $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - 0.01 0.99 - 1.00 1.00 - 1.00 - - - - extractps $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - 0.99 0.01 1.00 - - - - - - - - insertps $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.01 0.99 - 1.00 1.00 - - - - - - insertps $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movntdqa (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 2.00 mpsadbw $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 2.00 mpsadbw $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - packusdw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - packusdw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 1.94 2.06 - pblendvb %xmm0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - 2.06 1.94 - pblendvb %xmm0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pblendw $11, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pblendw $11, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.49 0.51 - pcmpeqq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pcmpeqq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.50 0.50 - pextrb $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 0.50 0.50 - pextrb $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pextrd $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - 1.00 - 0.50 0.50 - pextrd $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pextrq $1, %xmm0, %rcx
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 0.50 0.50 - pextrq $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 0.50 0.50 - pextrw $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 1.00 - - packusdw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - - 1.00 - packusdw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 3.94 0.06 - pblendvb %xmm0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 1.00 - - - 0.06 3.94 - pblendvb %xmm0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pblendw $11, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pblendw $11, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pcmpeqq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pcmpeqq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pextrb $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - - 1.00 - pextrb $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 1.00 - - pextrd $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - 1.00 - 1.00 - - pextrd $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 - - - - - 1.00 - pextrq $1, %xmm0, %rcx
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - - 1.00 - pextrq $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 1.00 - - pextrw $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 phminposuw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 phminposuw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pinsrb $1, %eax, %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.51 0.49 - pinsrb $1, (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 - - - - 0.51 0.49 - pinsrd $1, %eax, %xmm1
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.49 0.51 - pinsrd $1, (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pinsrq $1, %rax, %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.51 0.49 - pinsrq $1, (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.49 0.51 - pmaxsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmaxsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.49 0.51 - pmaxsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.51 0.49 - pmaxsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmaxud %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmaxud (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pmaxuw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pmaxuw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pminsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pminsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pminsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pminsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pminud %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pminud (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pminuw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pminuw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovsxbd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovsxbd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovsxbq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovsxbq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovsxbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovsxbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovsxdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovsxdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovsxwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pmovsxwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pmovsxwq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pmovsxwq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pmovzxbd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pmovzxbd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pmovzxbq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pmovzxbq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pmovzxbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pmovzxbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pmovzxdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovzxdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pmovzxwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovzxwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pmovzxwq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovzxwq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pinsrb $1, %eax, %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.01 0.99 - pinsrb $1, (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 - - - - - 1.00 - pinsrd $1, %eax, %xmm1
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pinsrd $1, (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pinsrq $1, %rax, %xmm1
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pinsrq $1, (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 1.00 - - pmaxsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pmaxsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pmaxsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pmaxsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pmaxud %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pmaxud (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pmaxuw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pmaxuw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pminsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pminsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pminsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pminsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pminud %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pminud (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pminuw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pminuw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pmovsxbd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pmovsxbd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pmovsxbq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pmovsxbq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pmovsxbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pmovsxbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pmovsxdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pmovsxdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pmovsxwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pmovsxwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pmovsxwq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pmovsxwq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pmovzxbd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pmovzxbd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pmovzxbq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pmovzxbq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pmovzxbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pmovzxbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pmovzxdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pmovzxdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pmovzxwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - pmovzxwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pmovzxwq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pmovzxwq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmuldq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmuldq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulld %xmm0, %xmm2
|
||||
|
|
Loading…
Reference in New Issue