aco/optimizer: copy propagate to output modifier instructions
[platform/upstream/mesa.git] / src / amd / compiler / aco_optimizer.cpp
2023-10-02 Georg Lehmannaco/optimizer: copy propagate to output modifier instru...
2023-10-02 Georg Lehmannaco/optimizer: check if we can use omod before labeling it
2023-09-14 Daniel Schürmannaco: make p_wqm a marker instruction without Operands...
2023-09-01 Georg Lehmannaco: use v_cvt_f32_ubyte for signed casts too
2023-08-23 Georg Lehmannaco: combine a | ~b to bfi(b, a, -1)
2023-08-23 Rhys Perryaco: clarify bpermute pseudo opcode names
2023-08-01 Georg Lehmannaco: combine a & ~b to bfi(b, 0, a)
2023-06-29 Georg Lehmannaco/optimizer: delete s_bitcmp optimization
2023-06-23 Timur Kristófaco: Use ac_hw_stage instead of aco-specific HWStage.
2023-06-20 Georg Lehmannaco: combine scalar mul+pk_add to pk_fma
2023-06-20 Georg Lehmannaco: use uses helpers for pk_fma opt
2023-06-16 Eric Engestromaco: reformat according to its .clang-format
2023-06-07 Georg Lehmannaco: use v_fma_mix for f2f32 and f2f16 on gfx11 if...
2023-06-07 Georg Lehmannaco: use v_add_f{16,32} with clamp for fsat
2023-05-18 Georg Lehmannaco/optimizer: allow DPP to use VOP3 on GFX11
2023-05-18 Georg Lehmannaco: use can_use_input_modifiers helper
2023-05-18 Georg Lehmannaco: use get_operand_size for dpp opt
2023-05-18 Georg Lehmannaco/gfx11: use fmamk/fmaak with opsel
2023-05-18 Georg Lehmannaco: introduce helper to swap valu operands with modifiers
2023-05-12 Georg Lehmannaco: don't apply dpp if the alu instr uses the operand...
2023-05-12 Georg Lehmannaco: use VOP3+DPP
2023-05-12 Georg Lehmannaco/optimizer: copy pass flags for newly created valu...
2023-05-12 Georg Lehmannaco/optimizer: don't use pass_flags for mad idx
2023-05-04 Timur Kristófaco: Disallow constant propagation on SOPP and fixed...
2023-04-19 Rhys Perryaco: remove SMEM_instruction::prevent_overflow
2023-04-13 Harri Nieminenamd: fix typos
2023-04-10 Timur Kristófaco: Fix optimization of v_cmp with subgroup invocation.
2023-03-31 Rhys Perryaco: don't optimize s_or_b64(v_cmp_u_f32(a, b), cmp...
2023-03-30 Georg Lehmannaco/optimizer: remove to_SDWA
2023-03-30 Georg Lehmannaco: keep label_mul/usedef/minmax in apply_extract
2023-03-30 Georg Lehmannaco/optimizer: use opsel for VOP12C
2023-03-30 Georg Lehmannaco: don't label mul with opsel as abs/neg
2023-03-30 Georg Lehmannaco: swap opsel when swapping VOP2/C operands
2023-03-30 Georg Lehmannaco: support neg(mul)/abs(mul) optimization in more...
2023-03-30 Georg Lehmannaco: support v_cvt_f32_f16 with opsel in combine_mad_mix
2023-03-30 Georg Lehmannaco: update match_op3_for_vop3 for VOP12C opsel
2023-03-30 Georg Lehmannaco: handle opsel in combine_constant_comparison_ordering
2023-03-30 Georg Lehmannaco: handle opsel in combine_ordering_test
2023-03-30 Georg Lehmannaco: handle opsel in combine_comparison_ordering
2023-03-30 Georg Lehmannaco/optimizer: preserve opsel when fusing fma
2023-03-28 Georg Lehmannaco: clean up to_mad_mix
2023-03-27 Georg Lehmannaco: don't check usesModifiers for pseudo instructions
2023-03-17 Timur Kristófaco: Don't add soffset to swizzled MUBUF base.
2023-03-09 Georg Lehmannaco: use bitfield_array for temporary neg/abs/opsel
2023-03-09 Georg Lehmannaco: use array indexing for opsel/opsel_lo/opsel_hi
2023-03-09 Georg Lehmannaco: use integer access for neg_lo/neg_hi
2023-03-09 Georg Lehmannaco: copy abs/neg with assignment
2023-03-08 Georg Lehmannaco: don't reallocate fma{mk,ak,_mix} instruction
2023-03-08 Georg Lehmannaco/optimizer: don't reallocate instruction when conver...
2023-03-07 Georg Lehmannaco: use bitfield array helpers for valu modifiers
2023-03-07 Georg Lehmannaco: remove VOP[123C]P? structs
2023-03-07 Georg Lehmannaco/optimizer: simplify using VALU instruction
2023-03-02 Georg Lehmannaco: use v_fma_mix_f32 for v_fma_f32 with 2 fp16 repres...
2023-03-02 Georg Lehmannaco: mark mad definition as precise if the mul/add...
2023-02-21 Rhys Perryaco: don't apply modifiers through DPP to unsupported...
2023-02-21 Georg Lehmannaco: combine a ^ ~b and ~(a ^ b) to v_xnor_b32
2023-02-18 Timur Kristófaco/optimizer: Change v_cmp with subgroup invocation...
2023-02-16 Timur Kristófaco: Remove MTBUF zero operand.
2023-02-08 Georg Lehmannaco: add mov/cndmask opcodes to does_fp_op_flush_denorms
2023-01-23 Georg LehmannRevert "aco: Combine v_cvt_u32_f32 with insert to v_cvt...
2023-01-16 Timur Kristófaco/optimizer: Optimize p_extract + v_mul_u32_u24 to...
2023-01-16 Timur Kristófaco/optimizer: Add missing v_lshlrev condition to can_a...
2023-01-10 Rhys Perryaco: disallow SGPRS/constants with interpolation instru...
2022-12-14 Timur Kristófaco: Emulate Wave64 bpermute on GFX11.
2022-12-14 Timur Kristófaco: Split opcodes for GFX6 and GFX10 emulated bpermute.
2022-12-14 Timur Kristófaco: Don't accept constants on p_bpermute.
2022-12-06 Rhys Perryaco: more carefully apply constant offsets into scratch...
2022-12-01 Rhys Perryaco: use v_minmax/v_maxmin opcodes
2022-12-01 Rhys Perryaco: change order in combine_minmax()
2022-11-28 Georg Lehmannaco: Combine constant bit test to s_bitcmp.
2022-11-28 Georg Lehmannaco: Combine bit test to s_bitcmp.
2022-11-28 Georg Lehmannaco: Combine s_abs and s_sub/s_add to s_absdiff.
2022-11-28 Georg Lehmannaco: Ignore instructions with exec operands in follow_o...
2022-11-28 Georg Lehmannaco/optimizer: Cleanup ctx.uses handling for patterns...
2022-11-24 Yonggang Luoaco: Fixes -Werror,-Wbitwise-instead-of-logical for...
2022-11-16 Samuel Pitoisetaco: add p_dual_src_export_gfx11 for dual source blendi...
2022-11-16 Georg Lehmannaco: Combine v_cvt_u32_f32 with insert to v_cvt_pk_u8_f32.
2022-11-01 Rhys Perryaco/gfx11: fix FS input loads in quad-divergent control...
2022-10-31 Georg Lehmannaco: Use opsel for the third operand.
2022-10-24 Georg Lehmannaco: Implement signed idot instructions on GFX11.
2022-10-24 Georg Lehmannaco: Don't use opsel for p_insert.
2022-10-20 Timur Kristófaco: Optimize MUBUF 0 offset when idxen is also being...
2022-09-30 Rhys Perryaco/gfx11: fix s_waitcnt printing
2022-09-22 Daniel Schürmannaco/optimizer: change inverse_comparison in-place
2022-09-22 Timur Kristófaco: Change inverse-comparison optimization to work...
2022-09-22 Daniel Schürmannaco/optimizer: optimize s_and(exec, s_and(x, y)) more...
2022-09-22 Daniel Schürmannaco/optimizer: do can_eliminate_and_exec() optimization...
2022-09-21 Georg Lehmannaco: Unswizzle v_pk_fma_f16 literals to produce more...
2022-09-21 Daniel Schürmannaco/optimizer: disallow can_eliminate_and_exec() with...
2022-09-21 Georg Lehmannaco: Use v_fmaak/v_fmamk if two operands are the same...
2022-08-30 Daniel Schürmannaco: use std::vector::reserve() more often
2022-08-16 Rhys Perryaco: rename is_cmp to is_fp_cmp
2022-07-11 Daniel Schürmannaco: fix packed 16bit fneg/fsat optimization
2022-07-08 Rhys Perryaco: handle subtractions in parse_base_offset
2022-07-08 Rhys Perryaco: combine additions and constants into scratch load...
2022-07-08 Georg Lehmannaco: Fix swapping sources in SOPC -> SOPK optimization.
2022-07-06 Georg Lehmannaco/optimizer: Optimize SOPC with literal to SOPK.
2022-07-06 Georg Lehmannaco/optimizer: Convert s_add_u32 with literals to s_add...
2022-07-05 Rhys Perryaco: don't use 32-bit fp inline constants for fp16...
2022-07-05 Rhys Perryaco: try sign-extending or shifting constants in propag...
next