This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: fuse multiple ops into one new op
- From: Marc Glisse <marc dot glisse at inria dot fr>
- To: Cherry Vanc <cherry dot vanc at gmail dot com>
- Cc: Jeff Law <law at redhat dot com>, gcc-help at gcc dot gnu dot org
- Date: Wed, 6 Aug 2014 07:51:14 +0200 (CEST)
- Subject: Re: fuse multiple ops into one new op
- Authentication-results: sourceware.org; auth=none
- References: <CANqEaAd497Fm09bRx-WiMXiBzL5Dub8FqkWCocDTLsTo_dgYEw at mail dot gmail dot com> <53DCB4BF dot 80701 at redhat dot com> <CANqEaAfU20usuRLyKzEa5t5=5cUQWhef0dyPsHXu3B4Mvk9GSA at mail dot gmail dot com>
- Reply-to: gcc-help at gcc dot gnu dot org
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