Matt Arsenault
53f0cc238c
AMDGPU: Fold fneg into round instructions
...
llvm-svn: 293127
2017-01-26 01:25:36 +00:00
Matt Arsenault
74a576e7d3
AMDGPU: Check nsz instead of unsafe math
...
llvm-svn: 293028
2017-01-25 06:27:02 +00:00
Matt Arsenault
8a27aee6ae
DAGCombiner: Allow negating ConstantFP after legalize
...
llvm-svn: 293019
2017-01-25 04:54:34 +00:00
Matt Arsenault
3e6f9b5773
AMDGPU: Disable some fneg combines unless nsz
...
For -(x + y) -> (-x) + (-y), if x == -y, this would
change the result from -0.0 to 0.0. Since the fma/fmad
combine is an extension of this problem it also
applies there.
fmul should be fine, and I don't think any of the unary
operators or conversions should be a problem either.
llvm-svn: 292473
2017-01-19 06:35:27 +00:00
Matt Arsenault
31c039ef2e
AMDGPU: Fold free fneg into sin
...
llvm-svn: 291790
2017-01-12 18:48:09 +00:00
Matt Arsenault
a8c325e2f5
AMDGPU: Fold fneg into fmul_legacy
...
llvm-svn: 291784
2017-01-12 18:26:30 +00:00
Matt Arsenault
ff7e5aadf5
AMDGPU: Fold fneg into rcp
...
llvm-svn: 291779
2017-01-12 17:46:35 +00:00
Matt Arsenault
4242d48c36
AMDGPU: Fold fneg into fp_round
...
llvm-svn: 291778
2017-01-12 17:46:33 +00:00
Matt Arsenault
98d2bf1024
AMDGPU: Fold fneg into fp_extend
...
llvm-svn: 291777
2017-01-12 17:46:28 +00:00
Matt Arsenault
63f953795e
AMDGPU: Fold fneg into fma or fmad
...
Patch mostly by Fiona Glaser
llvm-svn: 291733
2017-01-12 00:32:16 +00:00
Matt Arsenault
4103a81d6d
AMDGPU: Fold fneg into fmul
...
Patch mostly by Fiona Glaser
llvm-svn: 291732
2017-01-12 00:23:20 +00:00
Matt Arsenault
2529fba989
AMDGPU: Fold fneg into fadd
...
Patch mostly by Fiona Glaser
llvm-svn: 291731
2017-01-12 00:09:34 +00:00