This is the mail archive of the gcc-help@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: fuse multiple ops into one new op


On Tue, 5 Aug 2014, Cherry Vanc wrote:

Thanks. I am now using a define_insn based on your inputs :

(define_insn "testnew36"
 [(set (match_operand:DI 0 "register_operand" "")
   (op1:DI (match_operand:DI 1 "register_operand" "")
(match_operand:SI 2 "immediate_operand" "") ))
 (set (match_operand:DI 3 "register_operand" "")
   (op2:DI (match_operand:DI 4 "register_operand" "") (match_dup 0)))
 (set (match_operand:DI 5 "register_operand" "")
   (sign_extend:DI (op3:SI (match_dup 3))))]
 "TARGET_MYCORE"
 "testnew 36"
 [(set_attr "mode" "DI")])

Er, no, that's not what was recommended. Your *testnew in the previous email was much better.

Why doesnt -fdump-rtl-all-all / -fdump-rtl-all generate those .life
and .combine files so that I can take a look at the combine pass is
doing ? dump-rtl-combine doesnt spit anything either. MYCORE is a mips
adaptation using GCC 4.9.0.

Are you sure compiling file.c with options -O -da (or any of the options you tried) doesn't create file.c.201r.combine (number can vary)? You'll need to debug that first then.

--
Marc Glisse


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