x86 assembler updates: more instructions, new OPENSSL_instrument_halt
[openssl.git] / crypto / perlasm / x86nasm.pl
index b02de6452a49c820fb249fecfcd6ff6741544dde..27080a0f83099d1f94881f9fbd47db7b8665a0db 100644 (file)
@@ -147,6 +147,7 @@ sub main'xorb       { &out2("xor",@_); }
 sub main'add   { &out2("add",@_); }
 sub main'adc   { &out2("adc",@_); }
 sub main'sub   { &out2("sub",@_); }
+sub main'sbb   { &out2("sbb",@_); }
 sub main'rotl  { &out2("rol",@_); }
 sub main'rotr  { &out2("ror",@_); }
 sub main'exch  { &out2("xchg",@_); }
@@ -178,8 +179,8 @@ sub main'jno        { &out1("jno $near",@_); }
 
 sub main'push  { &out1("push",@_); $stack+=4; }
 sub main'pop   { &out1("pop",@_); $stack-=4; }
-sub main'pushf { &out0("pushf"); $stack+=4; }
-sub main'popf  { &out0("popf"); $stack-=4; }
+sub main'pushf { &out0("pushfd"); $stack+=4; }
+sub main'popf  { &out0("popfd"); $stack-=4; }
 sub main'bswap { &out1("bswap",@_); &using486(); }
 sub main'not   { &out1("not",@_); }
 sub main'call  { &out1("call",($_[0]=~/^\@L/?'':$under).$_[0]); }
@@ -190,6 +191,7 @@ sub main'bt { &out2("bt",@_); }
 sub main'leave { &out0("leave"); }
 sub main'cpuid { &out0("cpuid"); }
 sub main'rdtsc { &out0("rdtsc"); }
+sub main'halt  { &out0("hlt"); }
 
 # SSE2
 sub main'emms  { &out0("emms"); }