Matt Arsenault
4c7795dd31
AMDGPU: Fold rcp/rsq of undef to undef
...
llvm-svn: 298725
2017-03-24 19:04:57 +00:00
Matt Arsenault
d81f557fe2
AMDGPU: Fold icmp/fcmp into icmp intrinsic
...
The typical use is a library vote function which
compares to 0. Fold the user condition into the intrinsic.
llvm-svn: 297650
2017-03-13 18:14:02 +00:00
Matt Arsenault
cdb468c0f9
AMDGPU: Basic folds for fmed3 intrinsic
...
Constant fold, canonicalize constants to RHS,
reduce to minnum/maxnum when inputs are nan/undef.
llvm-svn: 296409
2017-02-27 23:08:49 +00:00
Matt Arsenault
d4bca1e9ef
AMDGPU: Replace disabled exp inputs with undef
...
llvm-svn: 295914
2017-02-23 00:44:03 +00:00
Matt Arsenault
f5262256a1
AMDGPU: Add replacement bfe intrinsics
...
llvm-svn: 295899
2017-02-22 23:04:58 +00:00
Matt Arsenault
1f17c66890
AMDGPU: Add cvt.pkrtz intrinsic
...
Convert llvm.SI.packf16 test uses
llvm-svn: 295797
2017-02-22 00:27:34 +00:00
Matt Arsenault
3bdd75d01e
InstCombine: Fold cos(-x) -> cos(x)
...
Also cos(fabs(x)) -> cos(x)
llvm-svn: 291022
2017-01-04 22:49:03 +00:00
Matt Arsenault
46a0382ab2
AMDGPU: Do basic folding of class intrinsic
...
This allows more of the OCML builtin library to be
constant folded.
llvm-svn: 280586
2016-09-03 07:06:58 +00:00
Matt Arsenault
2fe4fbc184
AMDGPU: Add frexp_exp intrinsic
...
llvm-svn: 264944
2016-03-30 22:28:52 +00:00
Matt Arsenault
5cd4f8f89f
AMDGPU: Constant folding for frexp_mant
...
llvm-svn: 264943
2016-03-30 22:28:26 +00:00
Matt Arsenault
bef34e21c7
AMDGPU: Rename intrinsics to use amdgcn prefix
...
The intrinsic target prefix should match the target name
as it appears in the triple.
This is not yet complete, but gets most of the important ones.
llvm.AMDGPU.* intrinsics used by mesa and libclc are still handled
for compatability for now.
llvm-svn: 258557
2016-01-22 21:30:34 +00:00