Browse Source

* output register pairs correctly

git-svn-id: trunk@22338 -
florian 13 years ago
parent
commit
be2003a404
1 changed files with 10 additions and 2 deletions
  1. 10 2
      compiler/psub.pas

+ 10 - 2
compiler/psub.pas

@@ -886,8 +886,16 @@ implementation
              if not(cs_no_regalloc in current_settings.globalswitches) then
                cg.translate_register(tabstractnormalvarsym(p).localloc.register);
              if cs_asm_source in current_settings.globalswitches then
-               TAsmList(list).concat(Tai_comment.Create(strpnew('Var '+tabstractnormalvarsym(p).realname+' located in register '+
-                 std_regname(tabstractnormalvarsym(p).localloc.register))))
+               begin
+                 if tabstractnormalvarsym(p).localloc.registerhi<>NR_NO then
+                   begin
+                     TAsmList(list).concat(Tai_comment.Create(strpnew('Var '+tabstractnormalvarsym(p).realname+' located in register '+
+                       std_regname(tabstractnormalvarsym(p).localloc.registerhi)+':'+std_regname(tabstractnormalvarsym(p).localloc.register))));
+                   end
+                 else
+                   TAsmList(list).concat(Tai_comment.Create(strpnew('Var '+tabstractnormalvarsym(p).realname+' located in register '+
+                     std_regname(tabstractnormalvarsym(p).localloc.register))));
+               end;
            end;
       end;