2003-09-24 Dave Brolley <brolley@redhat.com>
authorDave Brolley <brolley@redhat.com>
Wed, 24 Sep 2003 19:04:54 +0000 (19:04 +0000)
committerDave Brolley <brolley@redhat.com>
Wed, 24 Sep 2003 19:04:54 +0000 (19:04 +0000)
        * frv.cpu (u-commit): New modelling unit for fr500.
        (mwtaccg): Use frv_ref_SI to reference ACC40Sk as an input operand.
        (commit-r): Use u-commit model for fr500.
        (commit): Ditto.
        (conditional-float-binary-op): Take profiling data as an argument.
        Update callers.
        (ne-float-binary-op): Ditto.

cpu/ChangeLog
cpu/frv.cpu

index f273fc103053f1b9c9d38d044f84c1ad499d76c3..a5d190084084161d8773e809d04765d875d389a3 100644 (file)
@@ -1,3 +1,13 @@
+2003-09-24  Dave Brolley  <brolley@redhat.com>
+
+       * frv.cpu (u-commit): New modelling unit for fr500.
+       (mwtaccg): Use frv_ref_SI to reference ACC40Sk as an input operand.
+       (commit-r): Use u-commit model for fr500.
+       (commit): Ditto.
+       (conditional-float-binary-op): Take profiling data as an argument.
+       Update callers.
+       (ne-float-binary-op): Ditto.
+
 2003-09-19  Michael Snyder  <msnyder@redhat.com>
 
        * frv.cpu (nldqi): Delete unimplemented instruction.
index 8c33d96d77d6e6ddedafad49aef17f063a46c4f5..9ded3383f2139c45d6d7dc9632147b4bbcccea83 100644 (file)
        () ; outputs
        () ; profile action (default)
        )
+  ; commit unit
+  (unit u-commit "Commit Unit" ()
+       1 1 ; issue done
+       () ; state
+       ((GRk INT -1) (FRk INT -1)) ; inputs
+       () ; outputs
+       () ; profile action (default)
+       )
 )
 \f
 ; Tomcat machine. Early version of fr500 machine
        (.str name "$pack $" reg "k")
        (+ pack (.sym reg k) op (rs-null) ope (GRj-null))
        (commit-semantics (index-of (.sym reg k)) is_float)
-       ()
+       ((fr500 (unit u-commit)))
   )
 )
 
        (.str name "$pack")
        (+ pack (rd-null) op (rs-null) ope (GRj-null))
        (commit-semantics -1 is_float)
-       ()
+       ((fr500 (unit u-commit)))
   )
 )
 
 (float-binary-op-d fmuld mul OP_7A OPE1_08 F-3 "mul double float")
 (float-binary-op-d fdivd div OP_7A OPE1_09 F-4 "div double float")
 
-(define-pmacro (conditional-float-binary-op name pipe attr operation op ope comment)
+(define-pmacro (conditional-float-binary-op name pipe attr operation op ope profile comment)
   (dni name
        (comment)
        (.splice (UNIT pipe) (MACH simple,tomcat,fr500,frv)
        (+ pack FRk op FRi CCi cond ope FRj)
        (if (eq CCi (or cond 2))
           (set FRk (operation FRi FRj)))
-       ((fr500 (unit u-float-arith)))
+       profile
   )
 )
 
-(conditional-float-binary-op cfadds FMALL ((FR500-MAJOR F-2)) add OP_6D OPE4_0 "cond add single")
-(conditional-float-binary-op cfsubs FMALL ((FR500-MAJOR F-2)) sub OP_6D OPE4_1 "cond sub single")
-(conditional-float-binary-op cfmuls FM01  ((FR500-MAJOR F-3)) mul OP_6E OPE4_0 "cond mul single")
-(conditional-float-binary-op cfdivs FM01  ((FR500-MAJOR F-4)) div OP_6E OPE4_1 "cond div single")
+(conditional-float-binary-op cfadds FMALL ((FR500-MAJOR F-2)) add OP_6D OPE4_0
+                            ((fr500 (unit u-float-arith)))
+                            "cond add single")
+(conditional-float-binary-op cfsubs FMALL ((FR500-MAJOR F-2)) sub OP_6D OPE4_1
+                            ((fr500 (unit u-float-arith)))
+                            "cond sub single")
+(conditional-float-binary-op cfmuls FM01  ((FR500-MAJOR F-3)) mul OP_6E OPE4_0
+                            ((fr500 (unit u-float-arith)))
+                            "cond mul single")
+(conditional-float-binary-op cfdivs FM01  ((FR500-MAJOR F-4)) div OP_6E OPE4_1
+                            ((fr500 (unit u-float-div)))
+                            "cond div single")
 
-(define-pmacro (ne-float-binary-op name pipe attr operation op ope comment)
+(define-pmacro (ne-float-binary-op name pipe attr operation op ope profile comment)
   (dni name
        (comment)
        (.splice (UNIT pipe) (MACH simple,tomcat,fr500,frv)
        (sequence ()
                 (c-call VOID "@cpu@_set_ne_index" (index-of FRk))
                 (set FRk (operation FRi FRj)))
-       ((fr500 (unit u-float-arith)))
+       profile
   )
 )
 
-(ne-float-binary-op nfadds FMALL ((FR500-MAJOR F-2)) add OP_79 OPE1_26 "ne add single")
-(ne-float-binary-op nfsubs FMALL ((FR500-MAJOR F-2)) sub OP_79 OPE1_27 "ne sub single")
-(ne-float-binary-op nfmuls FM01  ((FR500-MAJOR F-3)) mul OP_79 OPE1_28 "ne mul single")
-(ne-float-binary-op nfdivs FM01  ((FR500-MAJOR F-4)) div OP_79 OPE1_29 "ne div single")
+(ne-float-binary-op nfadds FMALL ((FR500-MAJOR F-2)) add OP_79 OPE1_26
+                   ((fr500 (unit u-float-arith)))
+                   "ne add single")
+(ne-float-binary-op nfsubs FMALL ((FR500-MAJOR F-2)) sub OP_79 OPE1_27
+                   ((fr500 (unit u-float-arith)))
+                   "ne sub single")
+(ne-float-binary-op nfmuls FM01  ((FR500-MAJOR F-3)) mul OP_79 OPE1_28
+                   ((fr500 (unit u-float-arith)))
+                   "ne mul single")
+(ne-float-binary-op nfdivs FM01  ((FR500-MAJOR F-4)) div OP_79 OPE1_29
+                   ((fr500 (unit u-float-div)))
+                   "ne div single")
 
 (define-pmacro (fcc-eq) 8)
 (define-pmacro (fcc-lt) 4)
      ((UNIT FM01) (FR500-MAJOR M-3) (FR400-MAJOR M-1))
      "mwtaccg$pack $FRinti,$ACCGk"
      (+ pack ACCGk OP_7B FRinti OPE1_3F (FRj-null))
-     (set ACCGk FRinti)
+     (sequence ()
+              ; hack to get these referenced for profiling
+              (c-raw-call VOID "frv_ref_SI" ACCGk)
+              (set ACCGk FRinti))
      ((fr400 (unit u-media-4-accg))
       (fr500 (unit u-media)))
 )
This page took 0.031354 seconds and 4 git commands to generate.