deps: fix asm build error of openssl in x86_win32 · nodejs/node@ef57db8

Original file line numberDiff line numberDiff line change

@@ -18,10 +18,10 @@ sub ::generic

1818
1919

if ($opcode =~ /lea/ && @arg[1] =~ s/.*PTR\s+(\(.*\))$/OFFSET $1/) # no []

2020

{ $opcode="mov"; }

21-

elsif ($opcode !~ /movq/)

21+

elsif ($opcode !~ /mov[dq]$/)

2222

{ # fix xmm references

23-

$arg[0] =~ s/\b[A-Z]+WORD\s+PTR/XMMWORD PTR/i if ($arg[1]=~/\bxmm[0-7]\b/i);

24-

$arg[1] =~ s/\b[A-Z]+WORD\s+PTR/XMMWORD PTR/i if ($arg[0]=~/\bxmm[0-7]\b/i);

23+

$arg[0] =~ s/\b[A-Z]+WORD\s+PTR/XMMWORD PTR/i if ($arg[-1]=~/\bxmm[0-7]\b/i);

24+

$arg[-1] =~ s/\b[A-Z]+WORD\s+PTR/XMMWORD PTR/i if ($arg[0]=~/\bxmm[0-7]\b/i);

2525

}

2626
2727

&::emit($opcode,@arg);

@@ -160,13 +160,13 @@ sub ::public_label

160160

{ push(@out,"PUBLIC\t".&::LABEL($_[0],$nmdecor.$_[0])."\n"); }

161161
162162

sub ::data_byte

163-

{ push(@out,("DB\t").join(',',@_)."\n"); }

163+

{ push(@out,("DB\t").join(',',splice(@_,0,16))."\n") while(@_); }

164164
165165

sub ::data_short

166-

{ push(@out,("DW\t").join(',',@_)."\n"); }

166+

{ push(@out,("DW\t").join(',',splice(@_,0,8))."\n") while(@_); }

167167
168168

sub ::data_word

169-

{ push(@out,("DD\t").join(',',@_)."\n"); }

169+

{ push(@out,("DD\t").join(',',splice(@_,0,4))."\n") while(@_); }

170170
171171

sub ::align

172172

{ push(@out,"ALIGN\t$_[0]\n"); }