Re: [commit] Fix ABI fallout (Re: wide-int, rs6000)

2014-06-30 Thread Ulrich Weigand
Mike Stump wrote: > On Jun 28, 2014, at 3:31 AM, Ulrich Weigand wrote: > > Mike Stump wrote: > > > >>(rs6000_aggregate_candidate): Use wide-int interfaces. > > [snip] > >> - /* Can't handle incomplete types. */ > >> - if (!COMPLETE_TYPE_P (type)) > >> -return -1; > >> + /* Can't handl

Re: [commit] Fix ABI fallout (Re: wide-int, rs6000)

2014-06-28 Thread Mike Stump
On Jun 28, 2014, at 3:31 AM, Ulrich Weigand wrote: > Mike Stump wrote: > >> (rs6000_aggregate_candidate): Use wide-int interfaces. > [snip] >> -/* Can't handle incomplete types. */ >> -if (!COMPLETE_TYPE_P (type)) >> - return -1; >> +/* Can't handle incomplete types nor siz

[commit] Fix ABI fallout (Re: wide-int, rs6000)

2014-06-28 Thread Ulrich Weigand
Mike Stump wrote: > (rs6000_aggregate_candidate): Use wide-int interfaces. [snip] > - /* Can't handle incomplete types. */ > - if (!COMPLETE_TYPE_P (type)) > - return -1; > + /* Can't handle incomplete types nor sizes that are not > +fixed. */ > + if (!COMPLET

Re: wide-int, rs6000

2013-11-27 Thread Richard Biener
On Wed, Nov 27, 2013 at 2:07 AM, Kenneth Zadeck wrote: > We will of course measure it but the only thing that is different because of > the conversion is that timode integers are packaged differently Yeah, the slowness is due to generic code modification, not a port using CONST_WIDE_INT or not.

Re: wide-int, rs6000

2013-11-26 Thread Kenneth Zadeck
We will of course measure it but the only thing that is different because of the conversion is that timode integers are packaged differently > On Nov 26, 2013, at 6:17 PM, David Edelsohn wrote: > >> On Tue, Nov 26, 2013 at 5:46 PM, Mike Stump wrote: >> >> Ok? > > The revised version of the

Re: wide-int, rs6000

2013-11-26 Thread David Edelsohn
On Tue, Nov 26, 2013 at 5:46 PM, Mike Stump wrote: > Ok? The revised version of the patch looks okay from a technical perspective, but I still am concerned about the compile-time impact. I thought that I saw a comment on IRC that wide-int seems to have a 3-5% compile time impact, which is a conc

Re: wide-int, rs6000

2013-11-26 Thread Mike Stump
On Nov 25, 2013, at 12:03 PM, David Edelsohn wrote: > Thanks for doing this conversion work. A few questions and comments: > > 1) Because rs6000 is one of the few ports that was completely > converted to wide-int instead of simply accommodating wide-int, what > is the compile-time performance im

Re: wide-int, rs6000

2013-11-26 Thread Mike Stump
On Nov 26, 2013, at 3:58 AM, Richard Sandiford wrote: > Mike Stump writes: >> On Nov 25, 2013, at 12:03 PM, David Edelsohn wrote: >>> 3) altivec_resolve_overloaded_builtin, both hunks should be converted >>> the same way, using tree_fits_uhwi_p >>> >>> - && TREE_CODE (arg2) == INTEGER_CST >>

Re: wide-int, rs6000

2013-11-26 Thread Mike Stump
On Nov 25, 2013, at 12:03 PM, David Edelsohn wrote: > 2) non_logical_cint_operand changed const_double to const_wide_int, it > did not add the additional CODE. Mike explained why in a private > conversation, but the ChangeLog should be corrected. Index: gcc/ChangeLog.wide-int

Re: wide-int, rs6000

2013-11-26 Thread Mike Stump
On Nov 25, 2013, at 12:03 PM, David Edelsohn wrote: > 5) rs6000_aggregate_candidate, is this change correct for Ada and > non-constant type size? No. It was merely an oversight in converting the code. I've analyzed it, and think that we can speed up Ada and VLAs by keeping all the checks for t

Re: wide-int, rs6000

2013-11-26 Thread Richard Sandiford
Mike Stump writes: > On Nov 25, 2013, at 12:03 PM, David Edelsohn wrote: >> 3) altivec_resolve_overloaded_builtin, both hunks should be converted >> the same way, using tree_fits_uhwi_p >> >> - && TREE_CODE (arg2) == INTEGER_CST >> - && TREE_INT_CST_HIGH (arg2) == 0 >> - && (TREE_INT_CST_L

Re: wide-int, rs6000

2013-11-25 Thread Mike Stump
On Nov 25, 2013, at 12:03 PM, David Edelsohn wrote: > 3) altivec_resolve_overloaded_builtin, both hunks should be converted > the same way, using tree_fits_uhwi_p > > - && TREE_CODE (arg2) == INTEGER_CST > - && TREE_INT_CST_HIGH (arg2) == 0 > - && (TREE_INT_CST_LOW (arg2) == 0 || TREE_INT_C

Re: wide-int, rs6000

2013-11-25 Thread Mike Stump
On Nov 25, 2013, at 12:03 PM, David Edelsohn wrote: > 4) easy_altivec_constant, the comment about 32 bit should be removed > because wide-int should remove the dependency on 32 bit vs 64 bit host > wide int. Index: gcc/ChangeLog.wide-int ===

Re: wide-int, rs6000

2013-11-25 Thread David Edelsohn
Thanks for doing this conversion work. A few questions and comments: 1) Because rs6000 is one of the few ports that was completely converted to wide-int instead of simply accommodating wide-int, what is the compile-time performance impact of this conversion? 2) non_logical_cint_operand changed c

wide-int, rs6000

2013-11-23 Thread Mike Stump
Richi has asked the we break the wide-int patch so that the individual port and front end maintainers can review their parts without have to go through the entire patch.This patch covers the rs6000 port. Ok? * config/rs6000/predicates.md (any_operand): Add const_wide_int.