summaryrefslogtreecommitdiff
path: root/src/amd/compiler/aco_optimizer.cpp
AgeCommit message (Expand)AuthorFilesLines
2022-04-13aco: handle read2st64/write2st64 in optimizerRhys Perry1-9/+15
2022-04-13aco: remove occurences of VCC hintDaniel Schürmann1-17/+0
2022-04-13aco: use vcc for 64-bit vgpr additionRhys Perry1-2/+4
2022-04-04aco: don't use v_mad_mix on GFX9 if 16-bit denormals must be preservedRhys Perry1-0/+4
2022-04-01aco/optimizer: check recursively if we can eliminate s_and execDaniel Schürmann1-12/+27
2022-03-25aco: remove 'high' parameter from can_use_opsel()Daniel Schürmann1-2/+2
2022-03-25aco/optimizer: fix call to can_use_opsel() in apply_insert()Daniel Schürmann1-1/+1
2022-03-24aco: Fix an MSVC warningBoris Brezillon1-1/+1
2022-03-17aco: use v_fma_mix to combine mul/add/fma output conversionsRhys Perry1-4/+48
2022-03-17aco: apply clamp to v_fma_mixRhys Perry1-3/+8
2022-03-17aco: combine add/mul as v_fma_mix into fmaRhys Perry1-34/+103
2022-03-17aco: use v_fma_mix to combine mul/add/fma input conversionsRhys Perry1-5/+153
2022-03-17aco: refactor selection of mad/fmaRhys Perry1-16/+16
2022-02-03aco: fix neg(mul)/abs(mul) optimization with different bit-sizeRhys Perry1-0/+2
2022-02-03aco: don't combine add/mul of different bit-sizeRhys Perry1-0/+3
2022-02-03aco: don't apply omod/clamp of different bit-sizeRhys Perry1-0/+3
2022-02-03aco: don't combine fneg/fabs of different bit-sizeRhys Perry1-5/+8
2022-01-31aco: preserve pass_flags during format conversionsRhys Perry1-0/+2
2022-01-31aco: optimize abs(mul(a, b))Rhys Perry1-5/+5
2022-01-31aco: fix neg(abs(mul(a, b))) if the mul is not VOP3Rhys Perry1-4/+8
2022-01-20aco: consider legacy multiplications in optimizerRhys Perry1-7/+24
2021-12-31aco: support DPP8Tatsuyuki Ishi1-30/+59
2021-12-31aco/optimizer: apply extract from subdword p_split_vectorDaniel Schürmann1-0/+9
2021-12-31aco/optimizer: optimize extract(extract())Daniel Schürmann1-3/+37
2021-12-31aco/optimizer: apply extract from p_extract_vectorDaniel Schürmann1-5/+16
2021-12-31aco/optimizer: keep instr_mod_labels after applying extractDaniel Schürmann1-2/+2
2021-12-21aco/optimizer: propagate and fold inline constants on VOP3P instructionsDaniel Schürmann1-2/+72
2021-12-21aco: change fneg for VOP3P to use fmul with +1.0Daniel Schürmann1-3/+3
2021-12-21aco/optimizer: fix fneg modifier propagation on VOP3PDaniel Schürmann1-4/+6
2021-12-17aco: remove SMEM constant/addition combining out of the loopRhys Perry1-53/+57
2021-12-17aco: skip &-4 before SMEMRhys Perry1-0/+34
2021-12-17aco: disallow SMEM offsets that are not multiples of 4Rhys Perry1-1/+2
2021-12-17aco: fix check_vop3_operands() for f16vec2 ffma fneg combineRhys Perry1-2/+5
2021-12-13radv,aco: implement nir_op_ffmaRhys Perry1-3/+1
2021-12-13aco: swap operands if necessary to create v_madak/v_fmaakRhys Perry1-22/+38
2021-12-13aco: create v_fmamk_f32/v_fmaak_f32 from nir_op_ffmaRhys Perry1-0/+7
2021-12-13aco: use more predictable tiebreaker when forming MADsRhys Perry1-1/+8
2021-11-29aco: properly update use counts if a extract is still usedRhys Perry1-1/+3
2021-11-25aco: fix right shift of exponent 32 detected by UBSANSamuel Pitoiset1-1/+1
2021-10-20aco: disable mul(cndmask(0, 1, b), a) optimization sometimesRhys Perry1-1/+2
2021-10-12aco/optimizer: Skip SDWA on v_lshlrev when unnecessary in apply_extract.Timur Kristóf1-4/+11
2021-09-28aco: clang-formatDaniel Schürmann1-4/+3
2021-09-28aco: Omit p_extract after ds_read with matching bit size.Timur Kristóf1-0/+61
2021-09-20aco: Add ability to optimize v_lshl + v_sub into v_mad_i32_i24.Timur Kristóf1-17/+41
2021-09-18aco: cleanup assignment of unique_ptrsFilip Gawin1-5/+5
2021-09-02aco: remove explicit dst_preserve flagDaniel Schürmann1-1/+0
2021-09-02aco: rewrite SDWA selectorDaniel Schürmann1-41/+42
2021-08-31aco: remove DPP when applying constants/literals/sgprsRhys Perry1-3/+10
2021-08-31aco: don't constant propagate to DPP instructionsRhys Perry1-1/+1
2021-08-30aco: Unset 16 and 24-bit flags from operands in apply_extract.Timur Kristóf1-0/+3