-
- Downloads
amdgcn: vec_extract no-op insns
Just using move insn for no-op conversions triggers special move handling in IRA which declares that subreg of vectors aren't valid and routes everything through memory. These patterns make the vec_select explicit and all is well. gcc/ChangeLog: * config/gcn/gcn-protos.h (gcn_stepped_zero_int_parallel_p): New. * config/gcn/gcn-valu.md (V_1REG_ALT): New. (V_2REG_ALT): New. (vec_extract<V_1REG:mode><V_1REG_ALT:mode>_nop): New. (vec_extract<V_2REG:mode><V_2REG_ALT:mode>_nop): New. (vec_extract<V_ALL:mode><V_ALL_ALT:mode>): Use new patterns. * config/gcn/gcn.cc (gcn_stepped_zero_int_parallel_p): New. * config/gcn/predicates.md (ascending_zero_int_parallel): New.
Showing
- gcc/config/gcn/gcn-protos.h 1 addition, 0 deletionsgcc/config/gcn/gcn-protos.h
- gcc/config/gcn/gcn-valu.md 52 additions, 9 deletionsgcc/config/gcn/gcn-valu.md
- gcc/config/gcn/gcn.cc 18 additions, 0 deletionsgcc/config/gcn/gcn.cc
- gcc/config/gcn/predicates.md 7 additions, 0 deletionsgcc/config/gcn/predicates.md
Loading
Please register or sign in to comment