This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB 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]

[patch] Simplify p-macros in frv.cpu


Hi,

I've committed the attached patch which reworks several p-macros in frv.cpu so that they can accept insn attributes as a single argument. This greatly simplifies the task of adding new attributes to insns using these macros.

Dave

2003-09-04  Dave Brolley  <brolley@redhat.com>

	* frv.cpu (register-transfer): Pass in all attributes in on argument.
	Update all callers.
	(conditional-register-transfer): Ditto.
	(cache-preload): Ditto.
	(floating-point-conversion): Ditto.
	(floating-point-neg): Ditto.
	(float-abs): Ditto.
	(float-binary-op-s): Ditto.
	(conditional-float-binary-op): Ditto.
	(ne-float-binary-op): Ditto.
	(float-dual-arith): Ditto.
	(ne-float-dual-arith): Ditto.

Index: cpu/frv.cpu
===================================================================
RCS file: /cvs/src/src/cpu/frv.cpu,v
retrieving revision 1.7
diff -c -p -r1.7 frv.cpu
*** cpu/frv.cpu	3 Sep 2003 23:03:45 -0000	1.7
--- cpu/frv.cpu	4 Sep 2003 22:18:28 -0000
***************
*** 4478,4488 ****
  )
  
  (define-pmacro (register-transfer
! 		name op ope reg_src reg_targ pipe major1 major2 attr1 attr2
! 		profile comment)
    (dni name
         (comment)
!        ((UNIT pipe) major1 major2 attr1 attr2)
         (.str name "$pack $" reg_src ",$" reg_targ)
         (+ pack reg_targ op (rs-null) ope reg_src)
         (set reg_targ reg_src)
--- 4478,4487 ----
  )
  
  (define-pmacro (register-transfer
! 		name op ope reg_src reg_targ pipe attrs	profile comment)
    (dni name
         (comment)
!        (.splice (UNIT pipe) (.unsplice attrs))
         (.str name "$pack $" reg_src ",$" reg_targ)
         (+ pack reg_targ op (rs-null) ope reg_src)
         (set reg_targ reg_src)
***************
*** 4491,4503 ****
  )
  
  (register-transfer movgf OP_03 OPE1_15
! 		   GRj FRintk I0 (FR500-MAJOR I-4) (FR400-MAJOR I-4)
! 		   FR-ACCESS NA
  		   ((fr400 (unit u-gr2fr)) (fr500 (unit u-gr2fr)))
  		   "transfer gr to fr")
  (register-transfer movfg OP_03 OPE1_0D
! 		   FRintk GRj I0 (FR500-MAJOR I-4) (FR400-MAJOR I-4)
! 		   FR-ACCESS NA
  		   ((fr400 (unit u-fr2gr)) (fr500 (unit u-fr2gr)))
  		   "transfer fr to gr")
  
--- 4490,4502 ----
  )
  
  (register-transfer movgf OP_03 OPE1_15
! 		   GRj FRintk I0
! 		   ((FR500-MAJOR I-4) (FR400-MAJOR I-4) FR-ACCESS)
  		   ((fr400 (unit u-gr2fr)) (fr500 (unit u-gr2fr)))
  		   "transfer gr to fr")
  (register-transfer movfg OP_03 OPE1_0D
! 		   FRintk GRj I0
! 		   ((FR500-MAJOR I-4) (FR400-MAJOR I-4) FR-ACCESS)
  		   ((fr400 (unit u-fr2gr)) (fr500 (unit u-fr2gr)))
  		   "transfer fr to gr")
  
***************
*** 4583,4593 ****
  )
  
  (define-pmacro (conditional-register-transfer
! 		name op ope reg_src reg_targ pipe major1 major2 mach
! 		profile comment)
    (dni name
         (comment)
!        ((UNIT pipe) major1 major2 CONDITIONAL FR-ACCESS mach)
         (.str name "$pack $" reg_src ",$" reg_targ ",$CCi,$cond")
         (+ pack reg_targ op (rs-null) CCi cond ope reg_src)
         (if (eq CCi (or cond 2))
--- 4582,4591 ----
  )
  
  (define-pmacro (conditional-register-transfer
! 		name op ope reg_src reg_targ pipe attrs	profile comment)
    (dni name
         (comment)
!        (.splice (UNIT pipe) CONDITIONAL FR-ACCESS (.unsplice attrs))
         (.str name "$pack $" reg_src ",$" reg_targ ",$CCi,$cond")
         (+ pack reg_targ op (rs-null) CCi cond ope reg_src)
         (if (eq CCi (or cond 2))
***************
*** 4597,4609 ****
  )
  
  (conditional-register-transfer cmovgf OP_69 OPE4_0 GRj FRintk I0
! 			       (FR500-MAJOR I-4) (FR400-MAJOR I-4)
! 			       NA
  			       ((fr400 (unit u-gr2fr)) (fr500 (unit u-gr2fr)))
  			       "transfer gr to fr")
  (conditional-register-transfer cmovfg OP_69 OPE4_2 FRintk GRj I0
! 			       (FR500-MAJOR I-4) (FR400-MAJOR I-4)
! 			       NA
  			       ((fr400 (unit u-fr2gr)) (fr500 (unit u-fr2gr)))
  			       "transfer fr to gr")
  
--- 4595,4605 ----
  )
  
  (conditional-register-transfer cmovgf OP_69 OPE4_0 GRj FRintk I0
! 			       ((FR500-MAJOR I-4) (FR400-MAJOR I-4))
  			       ((fr400 (unit u-gr2fr)) (fr500 (unit u-gr2fr)))
  			       "transfer gr to fr")
  (conditional-register-transfer cmovfg OP_69 OPE4_2 FRintk GRj I0
! 			       ((FR500-MAJOR I-4) (FR400-MAJOR I-4))
  			       ((fr400 (unit u-fr2gr)) (fr500 (unit u-fr2gr)))
  			       "transfer fr to gr")
  
***************
*** 5665,5674 ****
  (invalidate-TLB itlbi itlbi OP_03 OPE1_33 "invalidate insn TLB")
  (invalidate-TLB dtlbi dtlbi OP_03 OPE1_37 "invalidate data TLB")
  
! (define-pmacro (cache-preload name cache pipe op ope profile comment)
    (dni name
         (comment)
!        ((UNIT pipe) (FR500-MAJOR C-2) (FR400-MAJOR C-2))
         (.str name "$pack $GRi,$GRj,$lock")
         (+ pack (misc-null-1) lock op GRi ope GRj)
         (c-call VOID (.str "@cpu@_" cache "_cache_preload") GRi GRj lock)
--- 5661,5670 ----
  (invalidate-TLB itlbi itlbi OP_03 OPE1_33 "invalidate insn TLB")
  (invalidate-TLB dtlbi dtlbi OP_03 OPE1_37 "invalidate data TLB")
  
! (define-pmacro (cache-preload name cache pipe attrs op ope profile comment)
    (dni name
         (comment)
!        (.splice (UNIT pipe) (FR500-MAJOR C-2) (FR400-MAJOR C-2) (.unsplice attrs))
         (.str name "$pack $GRi,$GRj,$lock")
         (+ pack (misc-null-1) lock op GRi ope GRj)
         (c-call VOID (.str "@cpu@_" cache "_cache_preload") GRi GRj lock)
***************
*** 5676,5685 ****
    )
  )
  
! (cache-preload icpl insn C OP_03 OPE1_30
  	       ((fr400 (unit u-icpl)) (fr500 (unit u-icpl)))
  	       "preload insn cache")
! (cache-preload dcpl data DCPL OP_03 OPE1_34
  	       ((fr400 (unit u-dcpl)) (fr500 (unit u-dcpl)))
  	       "preload data cache")
  
--- 5672,5681 ----
    )
  )
  
! (cache-preload icpl insn C () OP_03 OPE1_30
  	       ((fr400 (unit u-icpl)) (fr500 (unit u-icpl)))
  	       "preload insn cache")
! (cache-preload dcpl data DCPL () OP_03 OPE1_34
  	       ((fr400 (unit u-dcpl)) (fr500 (unit u-dcpl)))
  	       "preload data cache")
  
***************
*** 5802,5808 ****
  		name op ope conv mode src targ attr comment)
    (dni name
         (comment)
!        ((UNIT FMALL) (FR500-MAJOR F-1) (MACH simple,tomcat,fr500,frv) attr)
         (.str name "$pack $" src ",$" targ)
         (+ pack targ op (rs-null) ope src)
         (set targ (conv mode src))
--- 5798,5804 ----
  		name op ope conv mode src targ attr comment)
    (dni name
         (comment)
!        (.splice (UNIT FMALL) (FR500-MAJOR F-1) (.unsplice attr))
         (.str name "$pack $" src ",$" targ)
         (+ pack targ op (rs-null) ope src)
         (set targ (conv mode src))
***************
*** 5810,5819 ****
    )
  )
  
! (floating-point-conversion fitos OP_79 OPE1_00 float SF FRintj FRk NA "Convert Integer to Single")
! (floating-point-conversion fstoi OP_79 OPE1_01 fix   SI FRj FRintk NA "Convert Single  to Integer")
! (floating-point-conversion fitod OP_7A OPE1_00 float DF FRintj FRdoublek (MACH frv) "Convert Integer to Double")
! (floating-point-conversion fdtoi OP_7A OPE1_01 fix   SI FRdoublej FRintk (MACH frv) "Convert Double to Integer")
  
  (define-pmacro (floating-point-dual-conversion
  		name op ope conv mode src src_hw targ targ_hw attr comment)
--- 5806,5823 ----
    )
  )
  
! (floating-point-conversion fitos OP_79 OPE1_00 float SF FRintj FRk
! 			   ((MACH simple,tomcat,fr500,frv))
! 			   "Convert Integer to Single")
! (floating-point-conversion fstoi OP_79 OPE1_01 fix   SI FRj FRintk
! 			   ((MACH simple,tomcat,fr500,frv))
! 			   "Convert Single  to Integer")
! (floating-point-conversion fitod OP_7A OPE1_00 float DF FRintj FRdoublek
! 			   ((MACH frv))
! 			   "Convert Integer to Double")
! (floating-point-conversion fdtoi OP_7A OPE1_01 fix   SI FRdoublej FRintk
! 			   ((MACH frv))
! 			   "Convert Double to Integer")
  
  (define-pmacro (floating-point-dual-conversion
  		name op ope conv mode src src_hw targ targ_hw attr comment)
***************
*** 5887,5900 ****
  (ne-floating-point-conversion nfstoi OP_79 OPE1_21 fix   SI FRj FRintk "NE convert Single to Integer")
  
  (register-transfer fmovs OP_79 OPE1_02
! 		   FRj FRk FM01 (FR500-MAJOR F-1) NA
! 		   (MACH simple,tomcat,fr500,frv) NA
  		   ((fr500 (unit u-fr2fr)))
  		   "Move Single Float")
  (register-transfer fmovd OP_7A OPE1_02
  		   ; TODO -- unit doesn't handle extra register
! 		   FRdoublej FRdoublek FM01 (FR500-MAJOR F-1) NA
! 		   (MACH frv) NA
  		   ((fr500 (unit u-fr2fr)))
  		   "Move Double Float")
  
--- 5891,5904 ----
  (ne-floating-point-conversion nfstoi OP_79 OPE1_21 fix   SI FRj FRintk "NE convert Single to Integer")
  
  (register-transfer fmovs OP_79 OPE1_02
! 		   FRj FRk FM01
! 		   ((FR500-MAJOR F-1) (MACH simple,tomcat,fr500,frv))
  		   ((fr500 (unit u-fr2fr)))
  		   "Move Single Float")
  (register-transfer fmovd OP_7A OPE1_02
  		   ; TODO -- unit doesn't handle extra register
! 		   FRdoublej FRdoublek FM01
! 		   ((FR500-MAJOR F-1) (MACH frv))
  		   ((fr500 (unit u-fr2fr)))
  		   "Move Double Float")
  
***************
*** 5911,5925 ****
  )
  
  (conditional-register-transfer cfmovs OP_6C OPE4_0 FRj FRk FM01
! 			       (FR500-MAJOR F-1) NA
! 			       (MACH simple,tomcat,fr500,frv)
  			       ((fr500 (unit u-fr2fr)))
  			       "Conditional move Single Float")
  
  (define-pmacro (floating-point-neg name src targ op ope attr comment)
    (dni name
         (comment)
!        ((UNIT FMALL) (FR500-MAJOR F-1) attr)
         (.str name "$pack $" src ",$" targ)
         (+ pack src op (rs-null) ope targ)
         (set targ (neg src))
--- 5915,5929 ----
  )
  
  (conditional-register-transfer cfmovs OP_6C OPE4_0 FRj FRk FM01
! 			       ((FR500-MAJOR F-1)
! 				(MACH simple,tomcat,fr500,frv))
  			       ((fr500 (unit u-fr2fr)))
  			       "Conditional move Single Float")
  
  (define-pmacro (floating-point-neg name src targ op ope attr comment)
    (dni name
         (comment)
!        (.splice (UNIT FMALL) (FR500-MAJOR F-1) (.unsplice attr))
         (.str name "$pack $" src ",$" targ)
         (+ pack src op (rs-null) ope targ)
         (set targ (neg src))
***************
*** 5927,5934 ****
    )
  )
  
! (floating-point-neg fnegs FRj FRk OP_79 OPE1_03 (MACH simple,tomcat,fr500,frv) "Floating point negate, single")
! (floating-point-neg fnegd FRdoublej FRdoublek OP_7A OPE1_03 (MACH frv) "Floating point negate, double")
  
  (dni fdnegs
       "Floating point dual negate, single"
--- 5931,5938 ----
    )
  )
  
! (floating-point-neg fnegs FRj FRk OP_79 OPE1_03 ((MACH simple,tomcat,fr500,frv)) "Floating point negate, single")
! (floating-point-neg fnegd FRdoublej FRdoublek OP_7A OPE1_03 ((MACH frv)) "Floating point negate, double")
  
  (dni fdnegs
       "Floating point dual negate, single"
***************
*** 5954,5960 ****
  (define-pmacro (float-abs name src targ op ope attr comment)
    (dni name
         (comment)
!        ((UNIT FMALL) (FR500-MAJOR F-1) attr)
         (.str name "$pack $" src ",$" targ )
         (+ pack targ op (rs-null) ope src)
         (set targ (abs src))
--- 5958,5964 ----
  (define-pmacro (float-abs name src targ op ope attr comment)
    (dni name
         (comment)
!        (.splice (UNIT FMALL) (FR500-MAJOR F-1) (.unsplice attr))
         (.str name "$pack $" src ",$" targ )
         (+ pack targ op (rs-null) ope src)
         (set targ (abs src))
***************
*** 5962,5969 ****
    )
  )
  
! (float-abs fabss FRj FRk OP_79 OPE1_04 (MACH simple,tomcat,fr500,frv) "Float absolute value, single")
! (float-abs fabsd FRdoublej FRdoublek OP_7A OPE1_04 (MACH frv) "Float absolute value, double")
  
  (dni fdabss
       "Floating point dual absolute value, single"
--- 5966,5973 ----
    )
  )
  
! (float-abs fabss FRj FRk OP_79 OPE1_04 ((MACH simple,tomcat,fr500,frv)) "Float absolute value, single")
! (float-abs fabsd FRdoublej FRdoublek OP_7A OPE1_04 ((MACH frv)) "Float absolute value, double")
  
  (dni fdabss
       "Floating point dual absolute value, single"
***************
*** 6049,6058 ****
       ((fr500 (unit u-float-sqrt)))
  )
  
! (define-pmacro (float-binary-op-s name pipe operation op ope major comment)
    (dni name
         (comment)
!        ((UNIT pipe) (FR500-MAJOR major) (MACH simple,tomcat,fr500,frv))
         (.str name "$pack $FRi,$FRj,$FRk")
         (+ pack FRk op FRi ope FRj)
         (set FRk (operation FRi FRj))
--- 6053,6062 ----
       ((fr500 (unit u-float-sqrt)))
  )
  
! (define-pmacro (float-binary-op-s name pipe attr operation op ope comment)
    (dni name
         (comment)
!        (.splice (UNIT pipe) (MACH simple,tomcat,fr500,frv) (.unsplice attr))
         (.str name "$pack $FRi,$FRj,$FRk")
         (+ pack FRk op FRi ope FRj)
         (set FRk (operation FRi FRj))
***************
*** 6060,6068 ****
    )
  )
  
! (float-binary-op-s fadds FMALL add OP_79 OPE1_06 F-2 "add single float")
! (float-binary-op-s fsubs FMALL sub OP_79 OPE1_07 F-2 "sub single float")
! (float-binary-op-s fmuls FM01  mul OP_79 OPE1_08 F-3 "mul single float")
  
  (dni fdivs
       "div single float"
--- 6064,6072 ----
    )
  )
  
! (float-binary-op-s fadds FMALL ((FR500-MAJOR F-2)) add OP_79 OPE1_06 "add single float")
! (float-binary-op-s fsubs FMALL ((FR500-MAJOR F-2)) sub OP_79 OPE1_07 "sub single float")
! (float-binary-op-s fmuls FM01  ((FR500-MAJOR F-3)) mul OP_79 OPE1_08 "mul single float")
  
  (dni fdivs
       "div single float"
***************
*** 6089,6098 ****
  (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 operation op ope major comment)
    (dni name
         (comment)
!        ((UNIT pipe) (FR500-MAJOR major) (MACH simple,tomcat,fr500,frv))
         (.str name "$pack $FRi,$FRj,$FRk,$CCi,$cond")
         (+ pack FRk op FRi CCi cond ope FRj)
         (if (eq CCi (or cond 2))
--- 6093,6103 ----
  (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)
    (dni name
         (comment)
!        (.splice (UNIT pipe) (MACH simple,tomcat,fr500,frv)
! 		(.unsplice attr))
         (.str name "$pack $FRi,$FRj,$FRk,$CCi,$cond")
         (+ pack FRk op FRi CCi cond ope FRj)
         (if (eq CCi (or cond 2))
***************
*** 6101,6115 ****
    )
  )
  
! (conditional-float-binary-op cfadds FMALL add OP_6D OPE4_0 F-2 "cond add single")
! (conditional-float-binary-op cfsubs FMALL sub OP_6D OPE4_1 F-2 "cond sub single")
! (conditional-float-binary-op cfmuls FM01  mul OP_6E OPE4_0 F-3 "cond mul single")
! (conditional-float-binary-op cfdivs FM01  div OP_6E OPE4_1 F-4 "cond div single")
  
! (define-pmacro (ne-float-binary-op name pipe operation op ope major comment)
    (dni name
         (comment)
!        ((UNIT pipe) (FR500-MAJOR major) (MACH simple,tomcat,fr500,frv))
         (.str name "$pack $FRi,$FRj,$FRk")
         (+ pack FRk op FRi ope FRj)
         (sequence ()
--- 6106,6121 ----
    )
  )
  
! (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")
  
! (define-pmacro (ne-float-binary-op name pipe attr operation op ope comment)
    (dni name
         (comment)
!        (.splice (UNIT pipe) (MACH simple,tomcat,fr500,frv)
! 		(.unsplice attr))
         (.str name "$pack $FRi,$FRj,$FRk")
         (+ pack FRk op FRi ope FRj)
         (sequence ()
***************
*** 6119,6128 ****
    )
  )
  
! (ne-float-binary-op nfadds FMALL add OP_79 OPE1_26 F-2 "ne add single")
! (ne-float-binary-op nfsubs FMALL sub OP_79 OPE1_27 F-2 "ne sub single")
! (ne-float-binary-op nfmuls FM01  mul OP_79 OPE1_28 F-3 "ne mul single")
! (ne-float-binary-op nfdivs FM01  div OP_79 OPE1_29 F-4 "ne div single")
  
  (define-pmacro (fcc-eq) 8)
  (define-pmacro (fcc-lt) 4)
--- 6125,6134 ----
    )
  )
  
! (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")
  
  (define-pmacro (fcc-eq) 8)
  (define-pmacro (fcc-lt) 4)
***************
*** 6395,6404 ****
  (ne-float-parallel-mul-add nfmas add OP_79 OPE1_2E "ne parallel mul/add,single")
  (ne-float-parallel-mul-add nfmss sub OP_79 OPE1_2F "ne parallel mul/sub,single")
  
! (define-pmacro (float-dual-arith name major oper1 oper2 op ope attr comment)
    (dni name
         (comment)
!        ((UNIT FM01) (FR500-MAJOR major) attr)
         (.str name "$pack $FRi,$FRj,$FRk")
         (+ pack FRk op FRi ope FRj)
         (sequence ()
--- 6401,6410 ----
  (ne-float-parallel-mul-add nfmas add OP_79 OPE1_2E "ne parallel mul/add,single")
  (ne-float-parallel-mul-add nfmss sub OP_79 OPE1_2F "ne parallel mul/sub,single")
  
! (define-pmacro (float-dual-arith name attr oper1 oper2 op ope comment)
    (dni name
         (comment)
!        (.splice (UNIT FM01) (.unsplice attr))
         (.str name "$pack $FRi,$FRj,$FRk")
         (+ pack FRk op FRi ope FRj)
         (sequence ()
***************
*** 6409,6419 ****
    )
  )
  
! (float-dual-arith fdadds F-6 add add OP_79 OPE1_16 (MACH simple,tomcat,fr500,frv) "dual add, single")
! (float-dual-arith fdsubs F-6 sub sub OP_79 OPE1_17 (MACH simple,tomcat,fr500,frv) "dual sub, single")
! (float-dual-arith fdmuls F-7 mul mul OP_79 OPE1_18 (MACH simple,tomcat,fr500,frv) "dual mul, single")
! (float-dual-arith fddivs F-7 div div OP_79 OPE1_19 (MACH frv) "dual div,single")
! (float-dual-arith fdsads F-6 add sub OP_79 OPE1_1E (MACH simple,tomcat,fr500,frv) "dual add/sub, single")
  
  (dni fdmulcs
       "Float dual cross multiply single"
--- 6415,6425 ----
    )
  )
  
! (float-dual-arith fdadds ((FR500-MAJOR F-6) (MACH simple,tomcat,fr500,frv)) add add OP_79 OPE1_16 "dual add, single")
! (float-dual-arith fdsubs ((FR500-MAJOR F-6) (MACH simple,tomcat,fr500,frv)) sub sub OP_79 OPE1_17 "dual sub, single")
! (float-dual-arith fdmuls ((FR500-MAJOR F-7) (MACH simple,tomcat,fr500,frv)) mul mul OP_79 OPE1_18 "dual mul, single")
! (float-dual-arith fddivs ((FR500-MAJOR F-7) (MACH frv))                     div div OP_79 OPE1_19 "dual div,single")
! (float-dual-arith fdsads ((FR500-MAJOR F-6) (MACH simple,tomcat,fr500,frv)) add sub OP_79 OPE1_1E "dual add/sub, single")
  
  (dni fdmulcs
       "Float dual cross multiply single"
***************
*** 6439,6448 ****
       ((fr500 (unit u-float-dual-arith)))
  )
  
! (define-pmacro (ne-float-dual-arith name major oper1 oper2 op ope attr comment)
    (dni name
         (comment)
!        ((UNIT FM01) (FR500-MAJOR major) attr)
         (.str name "$pack $FRi,$FRj,$FRk")
         (+ pack FRk op FRi ope FRj)
         (sequence ()
--- 6445,6454 ----
       ((fr500 (unit u-float-dual-arith)))
  )
  
! (define-pmacro (ne-float-dual-arith name attr oper1 oper2 op ope comment)
    (dni name
         (comment)
!        (.splice (UNIT FM01) (.unsplice attr))
         (.str name "$pack $FRi,$FRj,$FRk")
         (+ pack FRk op FRi ope FRj)
         (sequence ()
***************
*** 6455,6465 ****
    )
  )
  
! (ne-float-dual-arith nfdadds F-6 add add OP_79 OPE1_36 (MACH simple,tomcat,fr500,frv) "ne dual add, single")
! (ne-float-dual-arith nfdsubs F-6 sub sub OP_79 OPE1_37 (MACH simple,tomcat,fr500,frv) "ne dual sub, single")
! (ne-float-dual-arith nfdmuls F-7 mul mul OP_79 OPE1_38 (MACH simple,tomcat,fr500,frv) "ne dual mul, single")
! (ne-float-dual-arith nfddivs F-7 div div OP_79 OPE1_39 (MACH frv) "ne dual div,single")
! (ne-float-dual-arith nfdsads F-6 add sub OP_79 OPE1_3E (MACH simple,tomcat,fr500,frv) "ne dual add/sub, single")
  
  (dni nfdcmps
       "non-excepting dual float compare"
--- 6461,6471 ----
    )
  )
  
! (ne-float-dual-arith nfdadds ((FR500-MAJOR F-6) (MACH simple,tomcat,fr500,frv)) add add OP_79 OPE1_36 "ne dual add, single")
! (ne-float-dual-arith nfdsubs ((FR500-MAJOR F-6) (MACH simple,tomcat,fr500,frv)) sub sub OP_79 OPE1_37 "ne dual sub, single")
! (ne-float-dual-arith nfdmuls ((FR500-MAJOR F-7) (MACH simple,tomcat,fr500,frv)) mul mul OP_79 OPE1_38 "ne dual mul, single")
! (ne-float-dual-arith nfddivs ((FR500-MAJOR F-7) (MACH frv))                     div div OP_79 OPE1_39 "ne dual div,single")
! (ne-float-dual-arith nfdsads ((FR500-MAJOR F-6) (MACH simple,tomcat,fr500,frv)) add sub OP_79 OPE1_3E "ne dual add/sub, single")
  
  (dni nfdcmps
       "non-excepting dual float compare"

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