Fwd: Questions on PA machine description?

Jerry Quinn jquinn@nortelnetworks.com
Tue Mar 16 10:49:00 GMT 1999


Jeffrey A Law wrote:
> 
>   > I wouldn't mind playing with the machine description some.  Also, do you
>   > have any clue if the 8000 also has this same asymmetric ALU situation?
> The 8000 does not suffer from this problem.  The ALUs are symmetric.  Not
> that it matters since from a scheduling standpoint you (mostly) want to
> ignore latency and schedule for reorder buffer retirement (2 memops, 2 nonmem
> ops per cycle).

I thought I'd go ahead and play with the machine description a little. 
I tried the following after the initial implementation of doubling the
7100lc function units:

(define_function_unit "pa8000memory" 2 0
  (and (eq_attr "type" "load,fpload,store,fpstore")
       (eq_attr "cpu" "8000")) 2 1)
(define_function_unit "pa8000fp_div" 2 1
  (and (eq_attr "type" "fpdivsgl,fpsqrtsgl")
	(eq_attr "cpu" "8000")) 17 17)
(define_function_unit "pa8000fp_div" 2 1
  (and (eq_attr "type" "fpdivdbl,fpsqrtdbl")
	(eq_attr "cpu" "8000")) 31 31)
(define_function_unit "pa8000alu" 2 1
   (and
    (eq_attr "type" "!load,fpload,store,fpstore")
    (eq_attr "cpu" "8000")) 1 1)

Theory being that the memory represents things leaving the load reorder
buffer and alu represents the nonload reorder buffer.  I added the
div/sqrt constraint on the theory that they take long enough to have a
big effect on retirement.  All for nought - it is better by a few
percent on some programs, worse by a few percent on others.  No major
differences that I could see.

Any thoughts?

-- 
Jerry Quinn                             Tel: (514) 761-8737
jquinn@nortelnetworks.com               Fax: (514) 761-8505
Speech Recognition Research


More information about the Gcc mailing list