Module: gas-preprocessor Branch: master Commit: f8a2d8c155bda8d925a7ee2ed8315c553a2b865f
Author: Martin Storsjo <mar...@martin.st> Committer: Martin Storsjo <mar...@martin.st> Date: Thu Mar 8 14:24:18 2018 +0200 Convert {v0.8b-v3.8b} into {v0.8b,v1.8b,v2.8b,v3.8b} for armasm64 --- gas-preprocessor.pl | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gas-preprocessor.pl b/gas-preprocessor.pl index 1d3e9c3..c56301c 100755 --- a/gas-preprocessor.pl +++ b/gas-preprocessor.pl @@ -1052,6 +1052,24 @@ sub handle_serialized_line { $line =~ s/#$scale/#$inverted_scale/; } } + + # Convert "ld1 {v0.4h-v3.4h}" into "ld1 {v0.4h,v1.4h,v2.4h,v3.4h}" + if ($line =~ /(?:ld|st)\d\s+({\s*v(\d+)\.(\d[bhsdBHSD])\s*-\s*v(\d+)\.(\d[bhsdBHSD])\s*})/) { + my $regspec = $1; + my $reg1 = $2; + my $layout1 = $3; + my $reg2 = $4; + my $layout2 = $5; + if ($layout1 eq $layout2) { + my $new_regspec = "{"; + foreach my $i ($reg1 .. $reg2) { + $new_regspec .= "," if ($i > $reg1); + $new_regspec .= "v$i.$layout1"; + } + $new_regspec .= "}"; + $line =~ s/$regspec/$new_regspec/; + } + } } # armasm is unable to parse &0x - add spacing $line =~ s/&0x/& 0x/g; _______________________________________________ libav-commits mailing list libav-commits@libav.org https://lists.libav.org/mailman/listinfo/libav-commits