mirror of
https://github.com/RPCS3/llvm.git
synced 2024-11-30 15:10:30 +00:00
Put VMOVPQIto64rr in the VRPDI class.
Patch by Joshua Magee. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180842 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
8c3a54998b
commit
dc0981d3e0
@ -4462,12 +4462,12 @@ def MOVPDI2DImr : PDI<0x7E, MRMDestMem, (outs), (ins i32mem:$dst, VR128:$src),
|
||||
// Move Packed Doubleword Int first element to Doubleword Int
|
||||
//
|
||||
let SchedRW = [WriteMove] in {
|
||||
def VMOVPQIto64rr : I<0x7E, MRMDestReg, (outs GR64:$dst), (ins VR128:$src),
|
||||
"vmov{d|q}\t{$src, $dst|$dst, $src}",
|
||||
def VMOVPQIto64rr : VRPDI<0x7E, MRMDestReg, (outs GR64:$dst), (ins VR128:$src),
|
||||
"mov{d|q}\t{$src, $dst|$dst, $src}",
|
||||
[(set GR64:$dst, (vector_extract (v2i64 VR128:$src),
|
||||
(iPTR 0)))],
|
||||
IIC_SSE_MOVD_ToGP>,
|
||||
TB, OpSize, VEX, VEX_W, Requires<[HasAVX, In64BitMode]>;
|
||||
VEX;
|
||||
|
||||
def MOVPQIto64rr : RPDI<0x7E, MRMDestReg, (outs GR64:$dst), (ins VR128:$src),
|
||||
"mov{d|q}\t{$src, $dst|$dst, $src}",
|
||||
|
@ -121,3 +121,13 @@ define <16 x i16> @build_vec_16x16(i16 %a) nounwind readonly {
|
||||
%res = insertelement <16 x i16> <i16 undef, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0>, i16 %a, i32 0
|
||||
ret <16 x i16> %res
|
||||
}
|
||||
|
||||
;;; Check that VMOVPQIto64rr generates the assembly string "vmovd". Previously
|
||||
;;; an incorrect mnemonic of "movd" was printed for this instruction.
|
||||
; CHECK: VMOVPQIto64rr
|
||||
; CHECK: vmovd
|
||||
define i64 @VMOVPQIto64rr(<2 x i64> %a) {
|
||||
entry:
|
||||
%vecext.i = extractelement <2 x i64> %a, i32 0
|
||||
ret i64 %vecext.i
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user