mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-02 07:32:52 +00:00
movlps and movlpd should be modeled as two address code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27221 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6a6d354d4c
commit
9bbfd4f68c
@ -467,16 +467,11 @@ def MOVUPDrm : PDI<0x10, MRMSrcMem, (ops VR128:$dst, f128mem:$src),
|
|||||||
def MOVUPDmr : PDI<0x11, MRMDestMem, (ops f128mem:$dst, VR128:$src),
|
def MOVUPDmr : PDI<0x11, MRMDestMem, (ops f128mem:$dst, VR128:$src),
|
||||||
"movupd {$src, $dst|$dst, $src}", []>;
|
"movupd {$src, $dst|$dst, $src}", []>;
|
||||||
|
|
||||||
def MOVLPSrm : PSI<0x12, MRMSrcMem, (ops VR128:$dst, f64mem:$src),
|
|
||||||
"movlps {$src, $dst|$dst, $src}", []>;
|
|
||||||
def MOVLPSmr : PSI<0x13, MRMDestMem, (ops f64mem:$dst, VR128:$src),
|
|
||||||
"movlps {$src, $dst|$dst, $src}", []>;
|
|
||||||
def MOVLPDrm : PDI<0x12, MRMSrcMem, (ops VR128:$dst, f64mem:$src),
|
|
||||||
"movlpd {$src, $dst|$dst, $src}", []>;
|
|
||||||
def MOVLPDmr : PDI<0x13, MRMDestMem, (ops f64mem:$dst, VR128:$src),
|
|
||||||
"movlpd {$src, $dst|$dst, $src}", []>;
|
|
||||||
|
|
||||||
let isTwoAddress = 1 in {
|
let isTwoAddress = 1 in {
|
||||||
|
def MOVLPSrm : PSI<0x12, MRMSrcMem, (ops VR128:$dst, VR128:$src1, f64mem:$src2),
|
||||||
|
"movlps {$src2, $dst|$dst, $src2}", []>;
|
||||||
|
def MOVLPDrm : PDI<0x12, MRMSrcMem, (ops VR128:$dst, VR128:$src1, f64mem:$src2),
|
||||||
|
"movlpd {$src2, $dst|$dst, $src2}", []>;
|
||||||
def MOVHPSrm : PSI<0x16, MRMSrcMem, (ops VR128:$dst, VR128:$src1, f64mem:$src2),
|
def MOVHPSrm : PSI<0x16, MRMSrcMem, (ops VR128:$dst, VR128:$src1, f64mem:$src2),
|
||||||
"movhps {$src2, $dst|$dst, $src2}", []>;
|
"movhps {$src2, $dst|$dst, $src2}", []>;
|
||||||
def MOVHPDrm : PDI<0x16, MRMSrcMem, (ops VR128:$dst, VR128:$src1, f64mem:$src2),
|
def MOVHPDrm : PDI<0x16, MRMSrcMem, (ops VR128:$dst, VR128:$src1, f64mem:$src2),
|
||||||
@ -487,6 +482,11 @@ def MOVHPDrm : PDI<0x16, MRMSrcMem, (ops VR128:$dst, VR128:$src1, f64mem:$src2),
|
|||||||
UNPCKL_shuffle_mask)))]>;
|
UNPCKL_shuffle_mask)))]>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def MOVLPSmr : PSI<0x13, MRMDestMem, (ops f64mem:$dst, VR128:$src),
|
||||||
|
"movlps {$src, $dst|$dst, $src}", []>;
|
||||||
|
def MOVLPDmr : PDI<0x13, MRMDestMem, (ops f64mem:$dst, VR128:$src),
|
||||||
|
"movlpd {$src, $dst|$dst, $src}", []>;
|
||||||
|
|
||||||
def MOVHPSmr : PSI<0x17, MRMDestMem, (ops f64mem:$dst, VR128:$src),
|
def MOVHPSmr : PSI<0x17, MRMDestMem, (ops f64mem:$dst, VR128:$src),
|
||||||
"movhps {$src, $dst|$dst, $src}", []>;
|
"movhps {$src, $dst|$dst, $src}", []>;
|
||||||
def MOVHPDmr : PDI<0x17, MRMDestMem, (ops f64mem:$dst, VR128:$src),
|
def MOVHPDmr : PDI<0x17, MRMDestMem, (ops f64mem:$dst, VR128:$src),
|
||||||
|
Loading…
Reference in New Issue
Block a user