mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-21 21:29:41 +00:00
More A9 itineraries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100655 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1c03f2493f
commit
e715b1e43a
@ -2513,8 +2513,8 @@ def VPADDi16 : N3VDInt<0, 0, 0b01, 0b1011, 1, N3RegFrm, IIC_VSHLiD,
|
||||
def VPADDi32 : N3VDInt<0, 0, 0b10, 0b1011, 1, N3RegFrm, IIC_VSHLiD,
|
||||
"vpadd", "i32",
|
||||
v2i32, v2i32, int_arm_neon_vpadd, 0>;
|
||||
def VPADDf : N3VDInt<1, 0, 0b00, 0b1101, 0, N3RegFrm, IIC_VSHLD,
|
||||
"vpadd", "f32",
|
||||
def VPADDf : N3VDInt<1, 0, 0b00, 0b1101, 0, N3RegFrm,
|
||||
IIC_VBIND, "vpadd", "f32",
|
||||
v2f32, v2f32, int_arm_neon_vpadd, 0>;
|
||||
|
||||
// VPADDL : Vector Pairwise Add Long
|
||||
|
@ -793,6 +793,34 @@ def CortexA9Itineraries : ProcessorItineraries<[
|
||||
// NEON
|
||||
// Issue through integer pipeline, and execute in NEON unit.
|
||||
|
||||
//
|
||||
// Double-register Integer Unary
|
||||
InstrItinData<IIC_VUNAiD, [InstrStage2<1, [FU_DRegsN], 0, Required>,
|
||||
// Extra 3 latency cycle since wbck is 6 cycles
|
||||
InstrStage2<7, [FU_DRegsVFP], 0, Reserved>,
|
||||
InstrStage<1, [FU_Pipe0, FU_Pipe1]>,
|
||||
InstrStage<1, [FU_NPipe]>], [4, 2]>,
|
||||
//
|
||||
// Quad-register Integer Unary
|
||||
InstrItinData<IIC_VUNAiQ, [InstrStage2<1, [FU_DRegsN], 0, Required>,
|
||||
// Extra 3 latency cycle since wbck is 6 cycles
|
||||
InstrStage2<7, [FU_DRegsVFP], 0, Reserved>,
|
||||
InstrStage<1, [FU_Pipe0, FU_Pipe1]>,
|
||||
InstrStage<1, [FU_NPipe]>], [4, 2]>,
|
||||
//
|
||||
// Double-register Integer Q-Unary
|
||||
InstrItinData<IIC_VQUNAiD, [InstrStage2<1, [FU_DRegsN], 0, Required>,
|
||||
// Extra 3 latency cycle since wbck is 6 cycles
|
||||
InstrStage2<7, [FU_DRegsVFP], 0, Reserved>,
|
||||
InstrStage<1, [FU_Pipe0, FU_Pipe1]>,
|
||||
InstrStage<1, [FU_NPipe]>], [4, 1]>,
|
||||
//
|
||||
// Quad-register Integer CountQ-Unary
|
||||
InstrItinData<IIC_VQUNAiQ, [InstrStage2<1, [FU_DRegsN], 0, Required>,
|
||||
// Extra 3 latency cycle since wbck is 6 cycles
|
||||
InstrStage2<7, [FU_DRegsVFP], 0, Reserved>,
|
||||
InstrStage<1, [FU_Pipe0, FU_Pipe1]>,
|
||||
InstrStage<1, [FU_NPipe]>], [4, 1]>,
|
||||
//
|
||||
// Double-register Integer Binary
|
||||
InstrItinData<IIC_VBINiD, [InstrStage2<1, [FU_DRegsN], 0, Required>,
|
||||
|
Loading…
x
Reference in New Issue
Block a user