in maxas/MaxAs/MaxAsGrammar.pm [1426:1452]
sub getVecRegisters
{
my ($vectors, $capData) = @_;
my $regName = $capData->{r0} or return;
return if $regName eq 'RZ';
if ($capData->{type} eq '.64' || $capData->{i31w4} eq '0x3')
{
if ($regName =~ m'^R(\d+)$')
{
return map "R$_", ($1 .. $1+1);
}
confess "$regName not a 64bit vector register" unless exists $vectors->{$regName};
return @{$vectors->{$regName}}[0,1];
}
if ($capData->{type} eq '.128' || $capData->{i31w4} eq '0xf')
{
if ($regName =~ m'^R(\d+)$')
{
return map "R$_", ($1 .. $1+3);
}
confess "$regName not a 128bit vector register" unless exists($vectors->{$regName}) && @{$vectors->{$regName}} == 4;
return @{$vectors->{$regName}};
}
return $regName;
}