diff --git a/tools/indent_arm_assembly.pl b/tools/indent_arm_assembly.pl index 359c2bcf4f..aefd58265d 100755 --- a/tools/indent_arm_assembly.pl +++ b/tools/indent_arm_assembly.pl @@ -219,10 +219,23 @@ while (<$in>) { $operand_space = spaces($size); } + # Lowercase register names. Only apply this on lines up to + # comments, as this can match common spec/code references in + # code comments. Split the string on // for comments, apply the + # substitution on the first segment (up to a comment char), and + # join the string again. + my @parts = split(/\/\//, $rest); + $parts[0] =~ s/\b([XWVQDSHBZP][0-9]+)\b/lc($1)/ge; + $rest = join('//', @parts); + # Lowercase the aarch64 vector layout description, .8B -> .8b $rest =~ s/(\.[84216]*[BHSD])/lc($1)/ge; # Lowercase modifiers like "uxtw" or "lsl" $rest =~ s/([SU]XT[BWH]|[LA]S[LR])/lc($1)/ge; + # Lowercase SVE/SME modifiers like "/Z" or "/M" + $rest =~ s,(/[ZM])\b,lc($1),ge; + # Lowercase SVE/SME vector lengths + $rest =~ s/\b(VL[0-9]+)\b/lc($1)/ge; # Reassemble the line if ($rest eq "") {