Add system guessing for linux64-loongarch64 target

Now the default is linux-generic32, it's not good for loongarch64.

We can also test if the assembler supports vector instructions here and
disable asm if not.

Closes #21340.

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21510)
This commit is contained in:
Xi Ruoyao 2023-07-21 07:59:07 +08:00 committed by Tomas Mraz
parent eb2ff04cc7
commit 160f48941d
1 changed files with 12 additions and 0 deletions

View File

@ -675,6 +675,18 @@ EOF
defines => [ 'B_ENDIAN' ] } ],
[ 'sh.*-.*-linux2', { target => "linux-generic32",
defines => [ 'L_ENDIAN' ] } ],
[ 'loongarch64-.*-linux2',
sub {
my $disable = [ 'asm' ];
if ( okrun('echo xvadd.w \$xr0,\$xr0,\$xr0',
"$CC -c -x assembler - -o /dev/null 2>/dev/null") ) {
$disable = [];
}
return { target => "linux64-loongarch64",
defines => [ 'L_ENDIAN' ],
disable => $disable, };
}
],
[ 'm68k.*-.*-linux2', { target => "linux-generic32",
defines => [ 'B_ENDIAN' ] } ],
[ 's390-.*-linux2', { target => "linux-generic32",