This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


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

Re: Fix for parallel_ok in d10v assembler


Hi Matt,

: 	parallel_ok checks to see if a pair of instructions are
: parallelizeable. However, it fails to recognize certain branches as
: instructions that cannot be parallelized; brf0t.s, for example. This patch
: fixes this.
: 
: 2000-12-04  Matthew Hiller  <hiller@redhat.com>
: 	* config/tc-d10v.c (parallel_ok): Fixed detection of branch
: 	instructions.
: 
: Index: gas/config/tc-d10v.c
: ===================================================================
: RCS file: /cvs/src/src/gas/config/tc-d10v.c,v
: retrieving revision 1.14
: diff -c -3 -p -r1.14 tc-d10v.c
: *** gas/config/tc-d10v.c	2000/12/05 00:56:04	1.14
: --- gas/config/tc-d10v.c	2000/12/05 01:02:37
: *************** parallel_ok (op1, insn1, op2, insn2, exe
: *** 941,947 ****
:     /* If this is auto parallization, and either instruction is a branch,
:        don't parallel.  */
:     if (exec_type == PACK_UNSPEC
: !       && (op1->exec_type & ALONE || op2->exec_type & ALONE))
:       return 0;
:   
:     /* The idea here is to create two sets of bitmasks (mod and used)
: --- 941,948 ----
:     /* If this is auto parallization, and either instruction is a branch,
:        don't parallel.  */
:     if (exec_type == PACK_UNSPEC
: !       && (op1->exec_type & ALONE || op2->exec_type & ALONE
: ! 	  || op1->exectype & BRANCH || op2->exec_type & BRANCH))
:       return 0;
:   

This does not look right.  If the brf0t.s instruction cannot be
parallelized then it should have the ALONE attribute set (in
opcodes/d10v-opc.c).  That is the point of that attribute.  It should
not be necessary to add tests for the BRANCH attribute in parallel_ok.

Cheers
	Nick

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