diff options
| author | Uros Bizjak <ubizjak@gmail.com> | 2017-10-27 20:13:14 +0200 | 
|---|---|---|
| committer | Uros Bizjak <uros@gcc.gnu.org> | 2017-10-27 20:13:14 +0200 | 
| commit | 3f563e0b55c78c53130d4082da6ba670ec1d9ba5 (patch) | |
| tree | 5af560de442226cf7a9e26e94255a1d408a4f722 /libcpp/include/cpplib.h | |
| parent | 68d1c4bfd74adad56b748125cd463940928e09da (diff) | |
| download | gcc-3f563e0b55c78c53130d4082da6ba670ec1d9ba5.zip gcc-3f563e0b55c78c53130d4082da6ba670ec1d9ba5.tar.gz gcc-3f563e0b55c78c53130d4082da6ba670ec1d9ba5.tar.bz2 | |
re PR target/82692 (Ordered comparisons used for unordered built-ins)
	PR target/82692
	* config/i386/i386-modes.def (CCFPU): Remove definition.
	* config/i386/i386.c (put_condition_mode): Remove CCFPU mode handling.
	(ix86_cc_modes_compatible): Ditto.
	(ix86_expand_carry_flag_compare): Ditto.
	(ix86_expand_int_movcc): Ditto.
	(ix86_expand_int_addcc): Ditto.
	(ix86_reverse_condition): Ditto.
	(ix86_unordered_fp_compare): Rename from ix86_fp_compare_mode.
	Return true/false for unordered/ordered fp comparisons.
	(ix86_cc_mode): Always return CCFPmode for float mode comparisons.
	(ix86_prepare_fp_compare_args): Update for rename.
	(ix86_expand_fp_compare): Update for rename.  Generate unordered
	compare RTXes wrapped with UNSPEC_NOTRAP unspec.
	(ix86_expand_sse_compare_and_jump): Ditto.
	* config/i386/predicates.md (fcmov_comparison_operator):
	Remove CCFPU mode handling.
	(ix86_comparison_operator): Ditto.
	(ix86_carry_flag_operator): Ditto.
	* config/i386/i386.md (UNSPEC_NOTRAP): New unspec.
	(*cmpu<mode>_i387): Wrap compare RTX with UNSPEC_NOTRAP unspec.
	(*cmpu<mode>_cc_i387): Ditto.
	(FPCMP): Remove mode iterator.
	(unord): Remove mode attribute.
	(unord_subst): New define_subst transformation
	(unord): New define_subst attribute.
	(unordered): Ditto.
	(*cmpi<unord><MODEF:mode>): Rewrite using unord_subst transformation.
	(*cmpi<unord>xf_i387): Ditto.
	* config/i386/sse.md (<sse>_<unord>comi<round_saeonly_name>): Merge
	from <sse>_comi<round_saeonly_name> and <sse>_ucomi<round_saeonly_name>
	using unord_subst transformation.
	* config/i386/subst.md (SUBST_A): Remove CCFP and CCFPU modes.
	(round_saeonly): Also handle CCFP mode.
	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_NOTRAP unspec.
	Remove UNSPEC_SAHF unspec handling.
testsuite/ChangeLog:
	PR target/82692
	* gcc.dg/torture/pr82692.c: New test.
From-SVN: r254167
Diffstat (limited to 'libcpp/include/cpplib.h')
0 files changed, 0 insertions, 0 deletions
