diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-04-08 11:26:26 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-04-08 11:26:26 +0000 |
commit | 86588fc8097ee065756dc0c2b1f65ed462809d06 (patch) | |
tree | 57f23827621d7980a0b4965773c5c82eb0026835 /llvm/lib | |
parent | 360ef6f5cd31dc0038f1d6ec8a4246150d5846ea (diff) | |
download | bcm5719-llvm-86588fc8097ee065756dc0c2b1f65ed462809d06.tar.gz bcm5719-llvm-86588fc8097ee065756dc0c2b1f65ed462809d06.zip |
[X86][Btver2] Add vector extract costs
llvm-svn: 329524
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/X86/X86ScheduleBtVer2.td | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86ScheduleBtVer2.td b/llvm/lib/Target/X86/X86ScheduleBtVer2.td index fda8f7c7f5b..637dd4dcaeb 100644 --- a/llvm/lib/Target/X86/X86ScheduleBtVer2.td +++ b/llvm/lib/Target/X86/X86ScheduleBtVer2.td @@ -370,6 +370,25 @@ defm : JWriteResFpuPair<WriteShuffle256, [JFPU01, JVALU], 1>; defm : JWriteResFpuPair<WriteVarVecShift, [JFPU01, JVALU], 1>; // NOTE: Doesn't exist on Jaguar. //////////////////////////////////////////////////////////////////////////////// +// Vector Extraction instructions. +//////////////////////////////////////////////////////////////////////////////// + +def JWritePEXTR : SchedWriteRes<[JFPU0, JFPA, JALU0]> { let Latency = 3; } +def : InstRW<[JWritePEXTR], (instrs MMX_PEXTRWrr, + EXTRACTPSrr, VEXTRACTPSrr, + PEXTRBrr, VPEXTRBrr, + PEXTRDrr, VPEXTRDrr, + PEXTRQrr, VPEXTRQrr, + PEXTRWrr, VPEXTRWrr, PEXTRWrr_REV, VPEXTRWrr_REV)>; + +def JWritePEXTRSt : SchedWriteRes<[JFPU1, JSTC, JSAGU]> { let Latency = 3; } +def : InstRW<[JWritePEXTRSt], (instrs EXTRACTPSmr, VEXTRACTPSmr, + PEXTRBmr, VPEXTRBmr, + PEXTRDmr, VPEXTRDmr, + PEXTRQmr, VPEXTRQmr, + PEXTRWmr, VPEXTRWmr)>; + +//////////////////////////////////////////////////////////////////////////////// // SSE42 String instructions. //////////////////////////////////////////////////////////////////////////////// |