mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-13 23:18:58 +00:00
Fix MMX_MOVQ2DQrr pattern. It's illegal to do a bitconvert from a smaller type to a larger one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50278 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
3f8a3e71c7
commit
80f5404e18
@ -2757,14 +2757,14 @@ include "X86InstrFPStack.td"
|
||||
|
||||
include "X86Instr64bit.td"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// MMX and XMM Packed Integer support (requires MMX, SSE, and SSE2)
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
include "X86InstrMMX.td"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// XMM Floating point support (requires SSE / SSE2)
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
include "X86InstrSSE.td"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// MMX and XMM Packed Integer support (requires MMX, SSE, and SSE2)
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
include "X86InstrMMX.td"
|
||||
|
@ -189,8 +189,10 @@ def MMX_MOVDQ2Qrr : MMXID<0xD6, MRMDestMem, (outs VR64:$dst), (ins VR128:$src),
|
||||
|
||||
def MMX_MOVQ2DQrr : MMXIS<0xD6, MRMDestMem, (outs VR128:$dst), (ins VR64:$src),
|
||||
"movq2dq\t{$src, $dst|$dst, $src}",
|
||||
[(set VR128:$dst,
|
||||
(bitconvert (v1i64 VR64:$src)))]>;
|
||||
[(set VR128:$dst,
|
||||
(v2i64 (vector_shuffle immAllZerosV,
|
||||
(v2i64 (scalar_to_vector (i64 (bitconvert VR64:$src)))),
|
||||
MOVL_shuffle_mask)))]>;
|
||||
|
||||
def MMX_MOVNTQmr : MMXI<0xE7, MRMDestMem, (outs), (ins i64mem:$dst, VR64:$src),
|
||||
"movntq\t{$src, $dst|$dst, $src}",
|
||||
|
Loading…
Reference in New Issue
Block a user