diff options
author | Richard Sandiford <richard.sandiford@linaro.org> | 2018-03-13 15:12:14 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2018-03-13 15:12:14 +0000 |
commit | 11e9443f49729ae4ddfc9dda63b5ad7f65f33170 (patch) | |
tree | bca5ae159b99940d6448ecc1c33e26fca91d47f6 /gcc/fold-const.c | |
parent | c9b39302efd79e2ef9c8f922b3068633edd40e76 (diff) | |
download | gcc-11e9443f49729ae4ddfc9dda63b5ad7f65f33170.zip gcc-11e9443f49729ae4ddfc9dda63b5ad7f65f33170.tar.gz gcc-11e9443f49729ae4ddfc9dda63b5ad7f65f33170.tar.bz2 |
[AArch64] Add SVE mul_highpart patterns
One advantage of the new permute handling compared to the old way is
that we can now easily take advantage of the vectoriser's divmod patterns
for SVE.
2018-03-13 Richard Sandiford <richard.sandiford@linaro.org>
gcc/
* config/aarch64/iterators.md (UNSPEC_SMUL_HIGHPART)
(UNSPEC_UMUL_HIGHPART): New constants.
(MUL_HIGHPART): New int iteraor.
(su): Handle UNSPEC_SMUL_HIGHPART and UNSPEC_UMUL_HIGHPART.
* config/aarch64/aarch64-sve.md (<su>mul<mode>3_highpart): New
define_expand.
(*<su>mul<mode>3_highpart): New define_insn.
gcc/testsuite/
* gcc.target/aarch64/sve/mul_highpart_1.c: New test.
* gcc.target/aarch64/sve/mul_highpart_1_run.c: Likewise.
From-SVN: r258487
Diffstat (limited to 'gcc/fold-const.c')
0 files changed, 0 insertions, 0 deletions