On 02/03/2015 10:20 PM, Chen Gang S wrote: > On 02/01/2015 03:42 AM, Mike Stump wrote: >> On Jan 31, 2015, at 3:24 AM, Chen Gang S <gang.chen@xxxxxxxxxxxxx> wrote: >>> ./insn-flags.h:114:0: warning: "HAVE_indirect_jump" redefined >>> #define HAVE_indirect_jump (Pmode == DImode) >> >> So, the 386 port uses modeless define expands from the well known named patterns and they mix in <mode> to the name of the non-well known named patterns. >> > > After try, modeless define needs multiple functions, and 'i386.c' needs > to know about them. e.g. let 'ix86_gen_tls_global_dynamic_64' point to > gen_tls_global_dynamic_64_di() or gen_tls_global_dynamic_64_si(). > > I guess, following this way, quite a few code in 'tilegx.c' will be > modified for it, or it will cause issue (still look for the original no > mode function name). e.g. > > ../../gcc-tile-new/gcc/config/tilegx/tilegx.c:2925:5: error: ‘CODE_FOR_insn_ld’ was not declared in this scope > { CODE_FOR_insn_ld, NULL }, /* ld */ > ^ > > If what I said above is really correct, for me, we have to try to find > another ways to solve this issue (it is not worthy enough to modify > quite a few code only for avoiding the suggesting warnings). > BTW: I find 'gccint.pdf' is a very valuable document to me, (e.g. Ch13 RTX, Ch16 MD, Ch17 TD). I shall read through it, and often reference to it. I will mainly read it in the subway between my home and my office. Welcome any ideas, suggestions and completions. Thanks. -- Open, share, and attitude like air, water, and life which God blessed.