R600: Implement getRecipEstimate
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Tue, 13 Jan 2015 20:53:23 +0000 (20:53 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Tue, 13 Jan 2015 20:53:23 +0000 (20:53 +0000)
commit7c06364dc0630a0d483b21d547bcefb3fdca0469
tree04a025fbc556c039a80cc2347f6fc3cf47845e48
parent8603a3d1c5738e3e3ac370de87a6052fec0c5326
R600: Implement getRecipEstimate

This requires a new hook to prevent expanding sqrt in terms
of rsqrt and reciprocal. v_rcp_f32, v_rsq_f32, and v_sqrt_f32 are
all the same rate, so this expansion would just double the number
of instructions and cycles.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225828 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/TargetLowering.h
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
lib/CodeGen/TargetLoweringBase.cpp
lib/Target/R600/AMDGPUISelLowering.cpp
lib/Target/R600/AMDGPUISelLowering.h