[PATCH] R600: Fix inconsistency in rsq instructions.
Matt Arsenault
Matthew.Arsenault at amd.com
Wed Jun 18 21:23:36 PDT 2014
R600 was using a clamped version of rsq, but SI was not. Add a
new rsq_clamped intrinsic and use them consistently.
It's unclear to me from the documentation what behavior
the R600 instructions have, so I assume they have the legacy behavior
described by the SI documents. For R600, use RECIPSQRT_IEEE
for both llvm.AMDGPU.rsq.legacy and llvm.AMDGPU.rsq. R600 also
has RECIPSQRT_FF, which I'm not sure how it fits in here.
http://reviews.llvm.org/D4204
Files:
include/llvm/IR/IntrinsicsR600.td
lib/Target/R600/AMDGPUISelLowering.cpp
lib/Target/R600/AMDGPUISelLowering.h
lib/Target/R600/AMDGPUInstrInfo.td
lib/Target/R600/AMDGPUInstructions.td
lib/Target/R600/AMDGPUIntrinsics.td
lib/Target/R600/R600ISelLowering.cpp
lib/Target/R600/R600Instructions.td
lib/Target/R600/SIInstructions.td
test/CodeGen/R600/llvm.AMDGPU.legacy.rsq.ll
test/CodeGen/R600/llvm.AMDGPU.rsq.clamped.f64.ll
test/CodeGen/R600/llvm.AMDGPU.rsq.clamped.ll
test/CodeGen/R600/llvm.AMDGPU.rsq.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D4204.10602.patch
Type: text/x-patch
Size: 10809 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140619/e6b89701/attachment.bin>
More information about the llvm-commits
mailing list