This is the mail archive of the gcc@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: RTL Optimisations


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


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