Browse Source

* missing part of fpc_x86_pause support

florian 2 weeks ago
parent
commit
af28462865
3 changed files with 5 additions and 3 deletions
  1. 0 3
      compiler/i8086/n8086inl.pas
  2. 1 0
      compiler/x86/cx86innr.inc
  3. 4 0
      compiler/x86/nx86inl.pas

+ 0 - 3
compiler/i8086/n8086inl.pas

@@ -29,9 +29,6 @@ interface
        nx86inl,node;
 
     type
-
-       { ti8086inlinenode }
-
        ti8086inlinenode = class(tx86inlinenode)
          function pass_typecheck_cpu: tnode; override;
          procedure pass_generate_code_cpu;override;

+ 1 - 0
compiler/x86/cx86innr.inc

@@ -26,6 +26,7 @@
   in_x86_get_es   = in_cpu_first+11,
   in_x86_get_fs   = in_cpu_first+12,
   in_x86_get_gs   = in_cpu_first+13,
+  in_x86_pause    = in_cpu_first+14,
 
   { include mm inline routines }
   {$I cx86mminnr.inc}

+ 4 - 0
compiler/x86/nx86inl.pas

@@ -140,6 +140,7 @@ implementation
                CheckParameters(2);
                resultdef:=voidtype;
              end;
+           in_x86_pause,
            in_x86_cli,
            in_x86_sti:
              resultdef:=voidtype;
@@ -179,6 +180,7 @@ implementation
            in_x86_outportb,
            in_x86_outportw,
            in_x86_outportl,
+           in_x86_pause,
            in_x86_cli,
            in_x86_sti:
              expectloc:=LOC_VOID;
@@ -616,6 +618,8 @@ implementation
              current_asmdata.CurrAsmList.concat(taicpu.op_none(A_CLI));
            in_x86_sti:
              current_asmdata.CurrAsmList.concat(taicpu.op_none(A_STI));
+           in_x86_pause:
+             current_asmdata.CurrAsmList.concat(taicpu.op_none(A_PAUSE));
            in_x86_get_cs:
              get_segreg(NR_CS);
            in_x86_get_ss: