]> git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64: Add vector floating point extend pattern [PR113880, PR113869]
authorPengxuan Zheng <quic_pzheng@quicinc.com>
Fri, 31 May 2024 00:53:23 +0000 (17:53 -0700)
committerPengxuan Zheng <quic_pzheng@quicinc.com>
Thu, 6 Jun 2024 18:50:13 +0000 (11:50 -0700)
commit230d62a2cdd16c1ec8fe87998ec01081503f010d
tree12b4c0a45717f9228f79715635fb2f4301793c26
parent30ce9dfcc665b6088e5898cfa766b57556ebb90e
aarch64: Add vector floating point extend pattern [PR113880, PR113869]

This patch adds vector floating point extend pattern for V2SF->V2DF and
V4HF->V4SF conversions by renaming the existing aarch64_float_extend_lo_<Vwide>
pattern to the standard optab one, i.e., extend<mode><Vwide>2. This allows the
vectorizer to vectorize certain floating point widening operations for the
aarch64 target.

PR target/113880
PR target/113869

gcc/ChangeLog:

* config/aarch64/aarch64-builtins.cc (VAR1): Remap float_extend_lo_
builtin codes to standard optab ones.
* config/aarch64/aarch64-simd.md (aarch64_float_extend_lo_<Vwide>): Rename
to...
(extend<mode><Vwide>2): ... This.

gcc/testsuite/ChangeLog:

* gcc.target/aarch64/extend-vec.c: New test.

Signed-off-by: Pengxuan Zheng <quic_pzheng@quicinc.com>
gcc/config/aarch64/aarch64-builtins.cc
gcc/config/aarch64/aarch64-simd.md
gcc/testsuite/gcc.target/aarch64/extend-vec.c [new file with mode: 0644]