diff options
author | zhuchen <zhuchen@loongson.cn> | 2022-09-29 19:50:52 +0800 |
---|---|---|
committer | Pauli <pauli@openssl.org> | 2022-10-12 18:02:12 +1100 |
commit | 7f2d6188c7b16ef7a4deeeedb56f42014156b9f8 (patch) | |
tree | ae1c24c61748f8b9c70dda5f65467a86e22cffba /crypto/loongarch_arch.h | |
parent | e1e93f7a07dfc7a8dddd4ddbb79d1d9bc9760d32 (diff) |
Add LoongArch64 cpuid and OPENSSL_loongarchcap_P
Loongarch64 architecture defines 128 bit vector extension lsx and 256 bit
vector extension lasx. The cpucfg instruction can be used to obtain whether
the CPU has a corresponding extension. This part of code is added to prepare
for the subsequent addition of corresponding vector instruction optimization.
Signed-off-by: zhuchen <zhuchen@loongson.cn>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19364)
Diffstat (limited to 'crypto/loongarch_arch.h')
-rw-r--r-- | crypto/loongarch_arch.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/crypto/loongarch_arch.h b/crypto/loongarch_arch.h new file mode 100644 index 0000000000..53caf53ef3 --- /dev/null +++ b/crypto/loongarch_arch.h @@ -0,0 +1,17 @@ +/* + * Copyright 2022 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ +#ifndef OSSL_CRYPTO_LOONGARCH_ARCH_H +# define OSSL_CRYPTO_LOONGARCH_ARCH_H + +extern unsigned int OPENSSL_loongarchcap_P; +# define LOONGARCH_CFG2 0x02 +# define LOONGARCH_CFG2_LSX (1<<6) +# define LOONGARCH_CFG2_LASX (1<<7) + +#endif |