From 7ebb6c54eb4e4ecc6c7e6121cb41babf44a04351 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Fri, 9 Jan 2026 13:55:01 +0200 Subject: [PATCH] tools: Lowercase more patterns in aarch64 assembly Match more SVE/SME specific details. Also lowercase all register names. As this matches many cases of code comments that refer to variables elsewhere, not specific registers, we only apply this tranformation on the part of lines before a potential comment. --- tools/indent_arm_assembly.pl | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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 "") {