This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 1/2] rs6000: Remove legacy HOST_BITS_PER_WIDE_INT < 64 code
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: Segher Boessenkool <segher at kernel dot crashing dot org>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Sat, 4 May 2013 16:25:58 -0400
- Subject: Re: [PATCH 1/2] rs6000: Remove legacy HOST_BITS_PER_WIDE_INT < 64 code
- References: <6b5b78e5813c162a1a8028cba8fac60d39d38592 dot 1367688157 dot git dot segher at kernel dot crashing dot org>
On Sat, May 4, 2013 at 2:37 PM, Segher Boessenkool
<segher@kernel.crashing.org> wrote:
> We always have HOST_BITS_PER_WIDE_INT >= 64, so remove the code testing
> for == 32, and remove the tests testing for >= 64. Also remove the tests
> testing for == 64 that should really have been testing for >= 64.
>
> DImode constants are always CONST_INT, never CONST_DOUBLE. Simplify the
> old code that hasn't caught up yet.
>
> Bootstrapped and tested on powerpc64-linux --enable-languages=c,c++,fortran
> --disable-libsanitizer, -m64,-m32,-m32/-mpowerpc64, no regressions. Okay
> to apply?
>
>
> gcc/
> 2013-05-04 Segher Boessenkool <segher@kernel.crashing.org>
>
> * config/rs6000/predicates.md (reg_or_add_cint_operand,
> reg_or_sub_cint_operand): Delete "HOST_BITS_PER_WIDE_INT == 32" case.
> (reg_or_logical_cint_operand, easy_fp_constant,
> logical_const_operand): Delete "CONST_DOUBLE" case.
> * config/rs6000/rs6000.c (num_insns_constant_wide): Delete
> "HOST_BITS_PER_WIDE_INT == 64" test.
> (num_insns_constant): Ditto. Delete CONST_DOUBLE DImode/VOIDmode
> case.
> (build_mask64_2_operands): Delete "HOST_BITS_PER_WIDE_INT >= 64" test.
> (rs6000_emit_set_const): Delete CONST_DOUBLE case.
> (rs6000_emit_set_long_const): Delete "HOST_BITS_PER_WIDE_INT >= 64"
> test.
> (includes_rldic_lshift_p, includes_rldicr_lshift_p): Delete
> CONST_DOUBLE DImode/VOIDmode case.
> (INT_P, INT_LOWPART): Delete CONST_DOUBLE case.
> (print_operand): Delete "HOST_BITS_PER_WIDE_INT == 32" case. Delete
> CONST_DOUBLE VOIDmode case.
> (output_toc): Delete "HOST_BITS_PER_WIDE_INT == 32" case.
> (rs6000_rtx_costs): Delete CONST_DOUBLE DImode/VOIDmode case.
> * config/rs6000/rs6000.md (iordi3, xordi3, splitter for these):
> Delete CONST_DOUBLE case.
> (splitters for mov FMOVE64 const_double): Delete
> "HOST_BITS_PER_WIDE_INT == 32" case. Delete
> "HOST_BITS_PER_WIDE_INT >= 64" test.
> (splitter for mov DI const_int): Delete "HOST_BITS_PER_WIDE_INT == 32"
> case.
> (mov DI const_double): Delete.
Okay.
Thanks, David