RTL Optimisations
Jeff Law
law@redhat.com
Tue Mar 25 12:28:00 GMT 2014
On 03/25/14 06:23, Umesh Kalappa wrote:
> Dear All,
>
> The GCC source reference 4.8.1 will synthesized some of the double
> word operations(SI mode) like add /sub in the below case from the word
> size (HI) patterns,
>
> (code snippet)
> expand_binop_directly function in the optabs.c.
>
> /* These can be done a word at a time by propagating carries. */
> 1949 if ((binoptab == add_optab || binoptab == sub_optab)
> 1950 && mclass == MODE_INT
> 1951 && GET_MODE_SIZE (mode) >= 2 * UNITS_PER_WORD
> 1952 && optab_handler (binoptab, word_mode) != CODE_FOR_nothing)
> (code snippet)
>
> Current private target port will hash the above conditions ,hence
> compiler will synthesizes the double word operation w.r.t word
> operations .
>
> We would like prevent this optimisations ,The reason for the same is
> we do have the some optimised intrinsic functions ,which is coded in
> assemble and we want compiler to emit the intrinsic call to these
> routines instead of synthesizes the double word operations.
>
> Anyone in the group can shed some lights here will be appreciated .
Write an expander/pattern which calls your intrinsics.
jeff
More information about the Gcc
mailing list