aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-range.cc
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@arm.com>2022-09-08 13:31:24 +0000
committerChristophe Lyon <christophe.lyon@arm.com>2023-05-03 16:58:27 +0200
commitb0b3a5e914727a9ec964be12ca4849a51b1e3dcf (patch)
treed792bd7b942168c9e32fbcc85e546b03b7e04101 /gcc/gimple-range.cc
parent9fdce18eea74f3e6d84cebb11f61bb77c19a66e9 (diff)
downloadgcc-b0b3a5e914727a9ec964be12ca4849a51b1e3dcf.zip
gcc-b0b3a5e914727a9ec964be12ca4849a51b1e3dcf.tar.gz
gcc-b0b3a5e914727a9ec964be12ca4849a51b1e3dcf.tar.bz2
arm: [MVE intrinsics] factorize vadd vsubq vmulq
In order to avoid using a huge switch when generating all the intrinsics (e.g. mve_vaddq_n_sv4si, ...), we want to generate a single function taking the builtin code as parameter (e.g. mve_q_n (VADDQ_S, ....) This is achieved by using the new mve_insn iterator. Having done that, it becomes easier to share similar patterns, to avoid useless/error-prone code duplication. 2022-09-08 Christophe Lyon <christophe.lyon@arm.com> gcc/ChangeLog: * config/arm/iterators.md (MVE_INT_BINARY_RTX, MVE_INT_M_BINARY) (MVE_INT_M_N_BINARY, MVE_INT_N_BINARY, MVE_FP_M_BINARY) (MVE_FP_M_N_BINARY, MVE_FP_N_BINARY, mve_addsubmul, mve_insn): New iterators. * config/arm/mve.md (mve_vsubq_n_f<mode>, mve_vaddq_n_f<mode>, mve_vmulq_n_f<mode>): Factorize into ... (@mve_<mve_insn>q_n_f<mode>): ... this. (mve_vaddq_n_<supf><mode>, mve_vmulq_n_<supf><mode>) (mve_vsubq_n_<supf><mode>): Factorize into ... (@mve_<mve_insn>q_n_<supf><mode>): ... this. (mve_vaddq<mode>, mve_vmulq<mode>, mve_vsubq<mode>): Factorize into ... (mve_<mve_addsubmul>q<mode>): ... this. (mve_vaddq_f<mode>, mve_vmulq_f<mode>, mve_vsubq_f<mode>): Factorize into ... (mve_<mve_addsubmul>q_f<mode>): ... this. (mve_vaddq_m_<supf><mode>, mve_vmulq_m_<supf><mode>) (mve_vsubq_m_<supf><mode>): Factorize into ... (@mve_<mve_insn>q_m_<supf><mode>): ... this, (mve_vaddq_m_n_<supf><mode>, mve_vmulq_m_n_<supf><mode>) (mve_vsubq_m_n_<supf><mode>): Factorize into ... (@mve_<mve_insn>q_m_n_<supf><mode>): ... this. (mve_vaddq_m_f<mode>, mve_vmulq_m_f<mode>, mve_vsubq_m_f<mode>): Factorize into ... (@mve_<mve_insn>q_m_f<mode>): ... this. (mve_vaddq_m_n_f<mode>, mve_vmulq_m_n_f<mode>) (mve_vsubq_m_n_f<mode>): Factorize into ... (@mve_<mve_insn>q_m_n_f<mode>): ... this.
Diffstat (limited to 'gcc/gimple-range.cc')
0 files changed, 0 insertions, 0 deletions