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.
This commit is contained in:
Lulu Cheng 2022-10-12 11:02:11 +08:00
parent e867f6b7e6
commit 7c059880fc

View File

@ -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