2019-08-27 Richard Biener <rguenther@suse.de>
authorRichard Biener <rguenther@suse.de>
Tue, 27 Aug 2019 12:46:07 +0000 (12:46 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 27 Aug 2019 12:46:07 +0000 (12:46 +0000)
commitb5a6addb5b60ff6232d1e11367b44f969d2a3e8f
treef674a206cb862c84935c8239e024ce69a8cc3c95
parent6a07489267e55084c3d5e88b4e9591be25bf2bf6
2019-08-27  Richard Biener  <rguenther@suse.de>

* config/i386/i386-features.h
(general_scalar_chain::~general_scalar_chain): Add.
(general_scalar_chain::insns_conv): New bitmap.
(general_scalar_chain::n_sse_to_integer): New.
(general_scalar_chain::n_integer_to_sse): Likewise.
(general_scalar_chain::make_vector_copies): Adjust signature.
* config/i386/i386-features.c
(general_scalar_chain::general_scalar_chain): Outline,
initialize new members.
(general_scalar_chain::~general_scalar_chain): New.
(general_scalar_chain::mark_dual_mode_def): Record insns
we need to insert conversions at and count them.
(general_scalar_chain::compute_convert_gain): Account
for conversion instructions at chain boundary.
(general_scalar_chain::make_vector_copies): Generate a single
copy for a def by a specific insn.
(general_scalar_chain::convert_registers): First populate
defs_map, then make copies at out-of chain insns.

From-SVN: r274953
gcc/ChangeLog
gcc/config/i386/i386-features.c
gcc/config/i386/i386-features.h