This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: wide-int, rs6000


On Nov 25, 2013, at 12:03 PM, David Edelsohn <dje.gcc@gmail.com> 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 impact of this conversion?

Others are interested in time, so I will see about characterizing it for folks.

> 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.

Fixed.

> 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_CST_LOW (arg2) == 1))
> +   && tree_fits_uhwi_p (arg2)
> +   && wi::ltu_p (arg2, 2))

Richard suggested for speed that we go the other direction.  I agreed, what is what I'll include here for your consideration.

> 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.

Fixed.

> 5) rs6000_aggregate_candidate, is this change correct for Ada and
> non-constant type size?

No, it was an oversight, fixed.

> The rest looks good. I'd like to see the revised patch before approving.

Ok?

Attachment: wide-int-rs6000-1.diffs.txt
Description: Text document



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]