OSDN Git Service

* sfmt optimism fix
[pf3gnuchains/pf3gnuchains3x.git] / cgen / rtl.scm
index 6159c2e..d7d0025 100644 (file)
     (if (not hw)
        (parse-error "hw" "invalid hardware element" hw-name))
 
-    (let ((mode (if (eq? mode-name 'DFLT) (hw-mode hw) (mode:lookup mode-name)))
-         (result (new <operand>))) ; ??? lookup-for-new?
+    (let* ((mode (if (eq? mode-name 'DFLT) (hw-mode hw) (mode:lookup mode-name)))
+          (hw-name-with-mode (symbol-append hw-name '- (obj:name mode)))
+          (result (new <operand>))) ; ??? lookup-for-new?
 
       (if (not mode)
          (parse-error "hw" "invalid mode" mode-name))
 
       ; The name of the operand must include the index so that multiple copies
       ; of a hardware object (e.g. h-gr[0], h-gr[14]) can be distinguished.
-      (let ((name (-rtx-hw-name hw hw-name index-arg)))
+      (let ((name (-rtx-hw-name hw hw-name-with-mode index-arg)))
        (send result 'set-name! name)
        (op:set-sem-name! result name))