diff options
author | Lulu Cheng <chenglulu@loongson.cn> | 2022-10-12 11:02:11 +0800 |
---|---|---|
committer | Lulu Cheng <chenglulu@loongson.cn> | 2022-10-13 09:54:17 +0800 |
commit | 7c059880fca175589efc8e06ef458020a005658d (patch) | |
tree | 840c637a62a0b7675c15436181bf0f80c8ee5903 /libitm/config | |
parent | e867f6b7e636391cf70a8d9b9bac79248b3fad67 (diff) | |
download | gcc-7c059880fca175589efc8e06ef458020a005658d.zip gcc-7c059880fca175589efc8e06ef458020a005658d.tar.gz gcc-7c059880fca175589efc8e06ef458020a005658d.tar.bz2 |
LoongArch: Fixed a bug in the loongarch architecture of libitm package.
Add a soft floating point condition to the register recovery part of the code.
libitm/ChangeLog:
* config/loongarch/sjlj.S: Add a soft floating point condition to the
register recovery part of the code.
Diffstat (limited to 'libitm/config')
-rw-r--r-- | libitm/config/loongarch/sjlj.S | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libitm/config/loongarch/sjlj.S b/libitm/config/loongarch/sjlj.S index a5f9fad..f896e40 100644 --- a/libitm/config/loongarch/sjlj.S +++ b/libitm/config/loongarch/sjlj.S @@ -104,6 +104,8 @@ GTM_longjmp: GPR_L $s7, $r5, 10*SZ_GPR GPR_L $s8, $r5, 11*SZ_GPR +#if !defined(__loongarch_soft_float) + /* Callee-saved scratch FPRs (f24-f31) */ FPR_L $f24, $r5, 12*SZ_GPR + 0*SZ_FPR FPR_L $f25, $r5, 12*SZ_GPR + 1*SZ_FPR FPR_L $f26, $r5, 12*SZ_GPR + 2*SZ_FPR @@ -112,6 +114,7 @@ GTM_longjmp: FPR_L $f29, $r5, 12*SZ_GPR + 5*SZ_FPR FPR_L $f30, $r5, 12*SZ_GPR + 6*SZ_FPR FPR_L $f31, $r5, 12*SZ_GPR + 7*SZ_FPR +#endif GPR_L $r7, $r5, 2*SZ_GPR GPR_L $fp, $r5, 0*SZ_GPR |