OSDN Git Service

back out RELAX part of previous patch and instead implement FIXME:
authordevans <devans>
Tue, 10 Jun 2003 21:58:33 +0000 (21:58 +0000)
committerdevans <devans>
Tue, 10 Jun 2003 21:58:33 +0000 (21:58 +0000)
rename insn RELAX to RELAXED.

* insn.scm (insn-builtin!): RELAX renamed to RELAXABLE.
* cpu/m32r.cpu (all insns): Ditto.

cgen/ChangeLog
cgen/cpu/m32r.cpu
cgen/insn.scm
cgen/operand.scm

index 5f028fb..21dbf8b 100644 (file)
@@ -1,11 +1,10 @@
 2003-06-10  Doug Evans  <dje@sebabeach.org>
 
+       * insn.scm (insn-builtin!): RELAX renamed to RELAXABLE.
+       * cpu/m32r.cpu (all insns): Ditto.
+
        * mach.scm (current-*-add!): Disallow redefinition.  Make result
        "unspecified".
-       * insn.scm (insn-builtin!): Don't define relaxable here, now defined in
-       operand.scm.
-       * operand.scm (operand-builtin!): Define RELAXABLE for insns too.
-       * cpu/m32r.cpu (disp8,disp24): RELAX renamed to RELAXABLE.
 
        * gen-all-doc: Split arm and frv docs up a bit.
 
index ede7885..129efa9 100644 (file)
 (define-operand
   (name disp8)
   (comment "8 bit displacement")
-  (attrs RELAXABLE)
+  (attrs RELAX)
   (type h-iaddr)
   (index f-disp8)
   ; ??? Early experiments had insert/extract fields here.
 )
 
 (dnop disp16 "16 bit displacement" () h-iaddr f-disp16)
-(dnop disp24 "24 bit displacement" (RELAXABLE) h-iaddr f-disp24)
+(dnop disp24 "24 bit displacement" (RELAX) h-iaddr f-disp24)
 
 ; These hardware elements are refered to frequently.
 
 )
 
 (dnmi bc24r "relaxable bc24"
-     (COND-CTI RELAX (IDOC BR))
+     (COND-CTI RELAXED (IDOC BR))
      "bc $disp24"
      (emit bc24 disp24)
 )
 )
 
 (dnmi bl24r "relaxable bl24"
-     (UNCOND-CTI RELAX (IDOC BR))
+     (UNCOND-CTI RELAXED (IDOC BR))
      "bl $disp24"
      (emit bl24 disp24)
 )
 )
 
 (dnmi bcl24r "relaxable bcl24"
-     (COND-CTI (MACH m32rx) RELAX (IDOC BR))
+     (COND-CTI (MACH m32rx) RELAXED (IDOC BR))
      "bcl $disp24"
      (emit bcl24 disp24)
 )
 )
 
 (dnmi bnc24r "relaxable bnc24"
-     (COND-CTI RELAX (IDOC BR))
+     (COND-CTI RELAXED (IDOC BR))
      "bnc $disp24"
      (emit bnc24 disp24)
 )
 )
 
 (dnmi bra24r "relaxable bra24"
-     (UNCOND-CTI RELAX (IDOC BR))
+     (UNCOND-CTI RELAXED (IDOC BR))
      "bra $disp24"
      (emit bra24 disp24)
 )
 )
 
 (dnmi bncl24r "relaxable bncl24"
-     (COND-CTI (MACH m32rx) RELAX (IDOC BR))
+     (COND-CTI (MACH m32rx) RELAXED (IDOC BR))
      "bncl $disp24"
      (emit bncl24 disp24)
 )
index 8195efb..f3ec793 100644 (file)
@@ -960,13 +960,12 @@ Define an instruction, all arguments specified.
   ; them together.
   ; FIXME: This is a case where we need one attribute with several values.
   ; Presently each RELAX_FOO will use up a bit.
-  ; NOTE: Defined in operand.scm because we can't define it twice.
-  ;(define-attr '(for insn) '(type boolean) '(name RELAXABLE)
-  ;  '(comment "insn is relaxable"))
+  (define-attr '(for insn) '(type boolean) '(name RELAXABLE)
+    '(comment "insn is relaxable"))
 
-  ; RELAX: Large relaxable variant.  Avoided by assembler in first pass.
-  ; FIXME: Rename this to RELAXED.
-  (define-attr '(for insn) '(type boolean) '(name RELAX) '(comment "relaxed form of insn"))
+  ; RELAXED: Large relaxable variant.  Avoided by assembler in first pass.
+  (define-attr '(for insn) '(type boolean) '(name RELAXED)
+    '(comment "relaxed form of insn"))
 
   ; NO-DIS: For macro insns, do not use during disassembly.
   (define-attr '(for insn) '(type boolean) '(name NO-DIS) '(comment "don't use for disassembly"))
index ce09c67..af71d1f 100644 (file)
@@ -1556,10 +1556,9 @@ Define an anyof operand, name/value pair list version.
   (define-attr '(for operand) '(type boolean) '(name NEGATIVE)
     '(comment "value is negative"))
 
-  ; Also used for insns, and we can't define it twice, so we specify
-  ; for insn here.
-  (define-attr '(for operand insn) '(type boolean) '(name RELAXABLE)
-    '(comment "operand/insn is relaxable"))
+  ; Operand plays a part in RELAXABLE/RELAXED insns.
+  (define-attr '(for operand) '(type boolean) '(name RELAX)
+    '(comment "operand is the relax participant"))
 
   ; ??? Might be able to make SEM-ONLY go away (or machine compute it)
   ; by scanning which operands are refered to by the insn syntax strings.