[Bug target/70799] STV pass does not convert DImode shifts
uros at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Apr 25 17:46:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70799
--- Comment #10 from uros at gcc dot gnu.org ---
Author: uros
Date: Tue Apr 25 17:45:22 2017
New Revision: 247263
URL: https://gcc.gnu.org/viewcvs?rev=247263&root=gcc&view=rev
Log:
PR target/70799
* config/i386/i386.c (dimode_scalar_to_vector_candidate_p):
Handle ASHIFTRT.
(dimode_scalar_chain::compute_convert_gain): Ditto.
(dimode_scalar_chain::make_vector_copies): Ditto.
(dimode_scalar_chain::convert_reg): Ditto.
(dimode_scalar_chain::convert_insn): Ditto.
* config/i386/sse.md (VI24_AVX512BW_1): Remove mode iterator.
(VI248_AVX512BW_1): New mode iterator.
(<mask_codefor>ashr<mode>3<mask_name>): Merge insn pattern with
<mask_codefor>ashrv2di3<mask_name> insn using VI248_AVX512BW_1
mode iterator.
testsuite/ChangeLog:
PR target/70799
* gcc.target/i386/pr70799-5.c: New test.
Added:
trunk/gcc/testsuite/gcc.target/i386/pr70799-5.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/config/i386/sse.md
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-bugs
mailing list