Re: [AArch64, SVE] Fix vectorized FP converts

2019-02-26 Thread Richard Sandiford
Alejandro Martinez Vicente  writes:
> Hi,
>
> Some of the narrowing/widening FP converts were missing from SVE. I fixed most
> of them, so they can be vectorized. The ones missing are int64->fp16 and
> fp16->int64.
>
> I extended the tests to cover the cases that were missing.
>
> I validated the patch with self-checking and running the new SVE tests on an
> SVE emulator.
>
> Alejandro

OK, thanks.

Think you've posted enough patches now to apply for svn write access.
Will follow up off-list.

Richard


[AArch64, SVE] Fix vectorized FP converts

2019-02-26 Thread Alejandro Martinez Vicente
Hi,

Some of the narrowing/widening FP converts were missing from SVE. I fixed most
of them, so they can be vectorized. The ones missing are int64->fp16 and
fp16->int64.

I extended the tests to cover the cases that were missing.

I validated the patch with self-checking and running the new SVE tests on an
SVE emulator.

Alejandro


gcc/Changelog:

2019-02-25  Alejandro Martinez  

* config/aarch64/aarch64-sve.md
(aarch64_sve__vnx8hf2,
aarch64_sve__vnx4sf2): Renamed FP to int
patterns.
(vec_unpack_fix_trunc__,
vec_pack_float_): New unpack/pack expanders.
* config/aarch64/iterators.md (SVE_HSDI): Fix cut-&-paste of SVE_BHSI.
(VWIDEINT): New iterator.
(VwideInt): Likewise.


gcc/testsuite/Changelog:
 
2019-02-25  Alejandro Martinez  

* gcc.target/aarch64/sve/fcvt_1.c: New test for fp to fp convert.
* gcc.target/aarch64/sve/fcvt_1_run.c: Likewise.
* gcc.target/aarch64/sve/cvtf_signed_1.c Improved test to cover
widening and narrowing cases.
* gcc.target/aarch64/sve/cvtf_signed_1_run.c: Likewise.
* gcc.target/aarch64/sve/cvtf_unsigned_1.c: Likewise.
* gcc.target/aarch64/sve/cvtf_unsigned_1_run.c: Likewise.
* gcc.target/aarch64/sve/fcvtz_signed_1.c: Likewise.
* gcc.target/aarch64/sve/fcvtz_signed_1_run.c: Likewise.
* gcc.target/aarch64/sve/fcvtz_unsigned_1.c: Likewise.
* gcc.target/aarch64/sve/fcvtz_unsigned_1_run.c: Likewise.



cvt_v4.patch
Description: cvt_v4.patch