mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-09 10:31:14 +00:00
move class defns close to uses to make it easier to read
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30795 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
fb996ee727
commit
736c020fc8
@ -255,23 +255,6 @@ class PD_Intrm<bits<8> o, string OpcodeStr, Intrinsic IntId>
|
|||||||
!strconcat(OpcodeStr, " {$src2, $dst|$dst, $src2}"),
|
!strconcat(OpcodeStr, " {$src2, $dst|$dst, $src2}"),
|
||||||
[(set VR128:$dst, (IntId VR128:$src1, (load addr:$src2)))]>;
|
[(set VR128:$dst, (IntId VR128:$src1, (load addr:$src2)))]>;
|
||||||
|
|
||||||
class S3D_Intrr<bits<8> o, string OpcodeStr, Intrinsic IntId>
|
|
||||||
: S3DI<o, MRMSrcReg, (ops VR128:$dst, VR128:$src1, VR128:$src2),
|
|
||||||
!strconcat(OpcodeStr, " {$src2, $dst|$dst, $src2}"),
|
|
||||||
[(set VR128:$dst, (v4f32 (IntId VR128:$src1, VR128:$src2)))]>;
|
|
||||||
class S3D_Intrm<bits<8> o, string OpcodeStr, Intrinsic IntId>
|
|
||||||
: S3DI<o, MRMSrcMem, (ops VR128:$dst, VR128:$src1, f128mem:$src2),
|
|
||||||
!strconcat(OpcodeStr, " {$src2, $dst|$dst, $src2}"),
|
|
||||||
[(set VR128:$dst, (v4f32 (IntId VR128:$src1, (load addr:$src2))))]>;
|
|
||||||
class S3_Intrr<bits<8> o, string OpcodeStr, Intrinsic IntId>
|
|
||||||
: S3I<o, MRMSrcReg, (ops VR128:$dst, VR128:$src1, VR128:$src2),
|
|
||||||
!strconcat(OpcodeStr, " {$src2, $dst|$dst, $src2}"),
|
|
||||||
[(set VR128:$dst, (v2f64 (IntId VR128:$src1, VR128:$src2)))]>;
|
|
||||||
class S3_Intrm<bits<8> o, string OpcodeStr, Intrinsic IntId>
|
|
||||||
: S3I<o, MRMSrcMem, (ops VR128:$dst, VR128:$src1, f128mem:$src2),
|
|
||||||
!strconcat(OpcodeStr, " {$src2, $dst|$dst, $src2}"),
|
|
||||||
[(set VR128:$dst, (v2f64 (IntId VR128:$src1, (load addr:$src2))))]>;
|
|
||||||
|
|
||||||
// Some 'special' instructions
|
// Some 'special' instructions
|
||||||
def IMPLICIT_DEF_FR32 : I<0, Pseudo, (ops FR32:$dst),
|
def IMPLICIT_DEF_FR32 : I<0, Pseudo, (ops FR32:$dst),
|
||||||
"#IMPLICIT_DEF $dst",
|
"#IMPLICIT_DEF $dst",
|
||||||
@ -1236,6 +1219,24 @@ def UNPCKLPDrm : PDI<0x14, MRMSrcMem,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Horizontal ops
|
// Horizontal ops
|
||||||
|
|
||||||
|
class S3D_Intrr<bits<8> o, string OpcodeStr, Intrinsic IntId>
|
||||||
|
: S3DI<o, MRMSrcReg, (ops VR128:$dst, VR128:$src1, VR128:$src2),
|
||||||
|
!strconcat(OpcodeStr, " {$src2, $dst|$dst, $src2}"),
|
||||||
|
[(set VR128:$dst, (v4f32 (IntId VR128:$src1, VR128:$src2)))]>;
|
||||||
|
class S3D_Intrm<bits<8> o, string OpcodeStr, Intrinsic IntId>
|
||||||
|
: S3DI<o, MRMSrcMem, (ops VR128:$dst, VR128:$src1, f128mem:$src2),
|
||||||
|
!strconcat(OpcodeStr, " {$src2, $dst|$dst, $src2}"),
|
||||||
|
[(set VR128:$dst, (v4f32 (IntId VR128:$src1, (load addr:$src2))))]>;
|
||||||
|
class S3_Intrr<bits<8> o, string OpcodeStr, Intrinsic IntId>
|
||||||
|
: S3I<o, MRMSrcReg, (ops VR128:$dst, VR128:$src1, VR128:$src2),
|
||||||
|
!strconcat(OpcodeStr, " {$src2, $dst|$dst, $src2}"),
|
||||||
|
[(set VR128:$dst, (v2f64 (IntId VR128:$src1, VR128:$src2)))]>;
|
||||||
|
class S3_Intrm<bits<8> o, string OpcodeStr, Intrinsic IntId>
|
||||||
|
: S3I<o, MRMSrcMem, (ops VR128:$dst, VR128:$src1, f128mem:$src2),
|
||||||
|
!strconcat(OpcodeStr, " {$src2, $dst|$dst, $src2}"),
|
||||||
|
[(set VR128:$dst, (v2f64 (IntId VR128:$src1, (load addr:$src2))))]>;
|
||||||
|
|
||||||
let isTwoAddress = 1 in {
|
let isTwoAddress = 1 in {
|
||||||
def HADDPSrr : S3D_Intrr<0x7C, "haddps", int_x86_sse3_hadd_ps>;
|
def HADDPSrr : S3D_Intrr<0x7C, "haddps", int_x86_sse3_hadd_ps>;
|
||||||
def HADDPSrm : S3D_Intrm<0x7C, "haddps", int_x86_sse3_hadd_ps>;
|
def HADDPSrm : S3D_Intrm<0x7C, "haddps", int_x86_sse3_hadd_ps>;
|
||||||
|
Loading…
Reference in New Issue
Block a user