Allow for 64-bit cache-line alignments in code segment.
[openssl.git] / crypto / perlasm / x86ms.pl
index 8f77fed81efeee1bee9f2e5fe03babadce7bad68..d1cb7ee0ac76df77e005dbc2ffd943aba4bf8477 100644 (file)
@@ -92,7 +92,7 @@ sub get_mem
                $reg2=&conv($1);
                $addr="_$2";
                }
-       elsif ($addr =~ /^[_a-zA-Z]$/)
+       elsif ($addr =~ /^[_a-z][_a-z0-9]*$/i)
                {
                $addr="_$addr";
                }
@@ -175,6 +175,8 @@ sub main'cpuid  { &out0("DW\t0A20Fh"); }
 sub main'rdtsc  { &out0("DW\t0310Fh"); }
 sub main'halt  { &out0("hlt"); }
 sub main'movz  { &out2("movzx",@_); }
+sub main'neg   { &out1("neg",@_); }
+sub main'cld   { &out0("cld"); }
 
 # SSE2
 sub main'emms  { &out0("emms"); }
@@ -256,7 +258,7 @@ sub main'function_begin
        push(@labels,$func);
 
        local($tmp)=<<"EOF";
-_TEXT\$        SEGMENT PARA
+_TEXT\$        SEGMENT PAGE 'CODE'
 PUBLIC _$func
 $extra
 _$func PROC NEAR
@@ -274,7 +276,7 @@ sub main'function_begin_B
        local($func,$extra)=@_;
 
        local($tmp)=<<"EOF";
-_TEXT\$        SEGMENT PARA
+_TEXT\$        SEGMENT PAGE 'CODE'
 PUBLIC _$func
 $extra
 _$func PROC NEAR