[AArch64] Add SVE conditional conversion patterns

Programming / Compilers / GCC - rsandifo [138bc75d-0d04-0410-961f-82ee72b054a4] - 14 August 2019 10:56 EDT

This patch adds patterns to match conditional conversions between integers and like-sized floats. The patterns are actually more general than that, but the other combinations can only be tested
via the ACLE.

2019-08-14 Richard Sandiford

gcc/
- config/aarch64/aarch64-sve.md (*cond__nontrunc) (*cond__nonextend): New patterns.

gcc/testsuite/
- gcc.target/aarch64/sve/cond_convert_1.c: New test.
- gcc.target/aarch64/sve/cond_convert_1_run.c: Likewise.
- gcc.target/aarch64/sve/cond_convert_2.c: Likewise.
- gcc.target/aarch64/sve/cond_convert_2_run.c: Likewise.
- gcc.target/aarch64/sve/cond_convert_3.c: Likewise.
- gcc.target/aarch64/sve/cond_convert_3_run.c: Likewise.
- gcc.target/aarch64/sve/cond_convert_4.c: Likewise.
- gcc.target/aarch64/sve/cond_convert_4_run.c: Likewise.
- gcc.target/aarch64/sve/cond_convert_5.c: Likewise.
- gcc.target/aarch64/sve/cond_convert_5_run.c: Likewise.
- gcc.target/aarch64/sve/cond_convert_6.c: Likewise.
- gcc.target/aarch64/sve/cond_convert_6_run.c: Likewise.

03749834a8e [AArch64] Add SVE conditional conversion patterns
gcc/ChangeLog | 7 +++
gcc/config/aarch64/aarch64-sve.md | 66 ++++++++++++++++++++++
gcc/testsuite/ChangeLog | 15 +++++
.../gcc.target/aarch64/sve/cond_convert_1.c | 37 ++++++++++++
.../gcc.target/aarch64/sve/cond_convert_1_run.c | 29 ++++++++++
.../gcc.target/aarch64/sve/cond_convert_2.c | 36 ++++++++++++
.../gcc.target/aarch64/sve/cond_convert_2_run.c | 28 +++++++++
.../gcc.target/aarch64/sve/cond_convert_3.c | 40 +++++++++++++
.../gcc.target/aarch64/sve/cond_convert_3_run.c | 28 +++++++++
.../gcc.target/aarch64/sve/cond_convert_4.c | 37 ++++++++++++
.../gcc.target/aarch64/sve/cond_convert_4_run.c | 29 ++++++++++
.../gcc.target/aarch64/sve/cond_convert_5.c | 36 ++++++++++++
.../gcc.target/aarch64/sve/cond_convert_5_run.c | 28 +++++++++
.../gcc.target/aarch64/sve/cond_convert_6.c | 40 +++++++++++++
.../gcc.target/aarch64/sve/cond_convert_6_run.c | 28 +++++++++
15 files changed, 484 insertions(+)

Upstream: gcc.gnu.org


  • Share