Prechádzať zdrojové kódy

* 32 bit comparison normally result in LOC_FLAGS on 16 bit CPUs

git-svn-id: branches/i8086@23875 -
florian 12 rokov pred
rodič
commit
88455bbb02
1 zmenil súbory, kde vykonal 9 pridanie a 1 odobranie
  1. 9 1
      compiler/nadd.pas

+ 9 - 1
compiler/nadd.pas

@@ -2910,7 +2910,11 @@ implementation
                   if nodetype in [addn,subn,muln,andn,orn,xorn] then
                     expectloc:=LOC_REGISTER
                   else
+{$ifdef cpu16bitalu}
+                    expectloc:=LOC_JUMP;
+{$else cpu16bitalu}
                     expectloc:=LOC_FLAGS;
+{$endif cpu16bitalu}
                end
 {$endif cpuneedsmulhelper}
              { generic s32bit conversion }
@@ -2946,8 +2950,12 @@ implementation
                   if nodetype in [addn,subn,muln,andn,orn,xorn] then
                     expectloc:=LOC_REGISTER
                   else
+{$ifdef cpu16bitalu}
+                    expectloc:=LOC_JUMP;
+{$else cpu16bitalu}
                     expectloc:=LOC_FLAGS;
-               end;
+{$endif cpu16bitalu}
+              end;
            end
 
          { left side a setdef, must be before string processing,