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)
commitbf0db918b23cb28b8ed35fe0371d0d9be6fd27f4
tree0c652c950ff493f9058e8e8998486df42f556b5e
parente93d06a5793514da2c6b16165e67361443094a4e
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.

llvm-svn: 225828
llvm/include/llvm/Target/TargetLowering.h
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/lib/CodeGen/TargetLoweringBase.cpp
llvm/lib/Target/R600/AMDGPUISelLowering.cpp
llvm/lib/Target/R600/AMDGPUISelLowering.h