diff options
author | Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> | 2014-09-26 12:56:44 +0000 |
---|---|---|
committer | Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> | 2014-09-26 12:56:44 +0000 |
commit | 196e873cdc42fafd4859ed0019dfc4385db14c16 (patch) | |
tree | 56827065f1868fdb9b6bce77b7c13fa24905a59c /llvm/lib/Support/MathExtras.cpp | |
parent | 88905b3909850c4390bf27946fe97734ea428859 (diff) | |
download | llvm-196e873cdc42fafd4859ed0019dfc4385db14c16.zip llvm-196e873cdc42fafd4859ed0019dfc4385db14c16.tar.gz llvm-196e873cdc42fafd4859ed0019dfc4385db14c16.tar.bz2 |
[X86][SchedModel] SSE reciprocal square root instruction latencies.
The SSE rsqrt instruction (a fast reciprocal square root estimate) was
grouped in the same scheduling IIC_SSE_SQRT* class as the accurate (but very
slow) SSE sqrt instruction. For code which uses rsqrt (possibly with
newton-raphson iterations) this poor scheduling was affecting performances.
This patch splits off the rsqrt instruction from the sqrt instruction scheduling
classes and creates new IIC_SSE_RSQER* classes with latency values based on
Agner's table.
Differential Revision: http://reviews.llvm.org/D5370
Patch by Simon Pilgrim.
llvm-svn: 218517
Diffstat (limited to 'llvm/lib/Support/MathExtras.cpp')
0 files changed, 0 insertions, 0 deletions