mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 15:11:24 +00:00
Add AVX movmsk 256-bit intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110648 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0115387005
commit
fcfcca1d9b
@ -1491,20 +1491,18 @@ let isAsmParserOnly = 1 in {
|
|||||||
defm VMOVMSKPD : sse12_extr_sign_mask<VR128, int_x86_sse2_movmsk_pd,
|
defm VMOVMSKPD : sse12_extr_sign_mask<VR128, int_x86_sse2_movmsk_pd,
|
||||||
"movmskpd", SSEPackedDouble>, OpSize,
|
"movmskpd", SSEPackedDouble>, OpSize,
|
||||||
VEX;
|
VEX;
|
||||||
|
defm VMOVMSKPSY : sse12_extr_sign_mask<VR256, int_x86_avx_movmsk_ps_256,
|
||||||
|
"movmskps", SSEPackedSingle>, VEX;
|
||||||
|
defm VMOVMSKPDY : sse12_extr_sign_mask<VR256, int_x86_avx_movmsk_pd_256,
|
||||||
|
"movmskpd", SSEPackedDouble>, OpSize,
|
||||||
|
VEX;
|
||||||
|
|
||||||
// FIXME: merge with multiclass above when the intrinsics come.
|
// Assembler Only
|
||||||
def VMOVMSKPSr64r : PI<0x50, MRMSrcReg, (outs GR64:$dst), (ins VR128:$src),
|
def VMOVMSKPSr64r : PI<0x50, MRMSrcReg, (outs GR64:$dst), (ins VR128:$src),
|
||||||
"movmskps\t{$src, $dst|$dst, $src}", [], SSEPackedSingle>, VEX;
|
"movmskps\t{$src, $dst|$dst, $src}", [], SSEPackedSingle>, VEX;
|
||||||
def VMOVMSKPDr64r : PI<0x50, MRMSrcReg, (outs GR64:$dst), (ins VR128:$src),
|
def VMOVMSKPDr64r : PI<0x50, MRMSrcReg, (outs GR64:$dst), (ins VR128:$src),
|
||||||
"movmskpd\t{$src, $dst|$dst, $src}", [], SSEPackedDouble>, OpSize,
|
"movmskpd\t{$src, $dst|$dst, $src}", [], SSEPackedDouble>, OpSize,
|
||||||
VEX;
|
VEX;
|
||||||
|
|
||||||
def VMOVMSKPSYrr : PI<0x50, MRMSrcReg, (outs GR32:$dst), (ins VR256:$src),
|
|
||||||
"movmskps\t{$src, $dst|$dst, $src}", [], SSEPackedSingle>, VEX;
|
|
||||||
def VMOVMSKPDYrr : PI<0x50, MRMSrcReg, (outs GR32:$dst), (ins VR256:$src),
|
|
||||||
"movmskpd\t{$src, $dst|$dst, $src}", [], SSEPackedDouble>, OpSize,
|
|
||||||
VEX;
|
|
||||||
|
|
||||||
def VMOVMSKPSYr64r : PI<0x50, MRMSrcReg, (outs GR64:$dst), (ins VR256:$src),
|
def VMOVMSKPSYr64r : PI<0x50, MRMSrcReg, (outs GR64:$dst), (ins VR256:$src),
|
||||||
"movmskps\t{$src, $dst|$dst, $src}", [], SSEPackedSingle>, VEX;
|
"movmskps\t{$src, $dst|$dst, $src}", [], SSEPackedSingle>, VEX;
|
||||||
def VMOVMSKPDYr64r : PI<0x50, MRMSrcReg, (outs GR64:$dst), (ins VR256:$src),
|
def VMOVMSKPDYr64r : PI<0x50, MRMSrcReg, (outs GR64:$dst), (ins VR256:$src),
|
||||||
|
Loading…
Reference in New Issue
Block a user