]> gcc.gnu.org Git - gcc.git/commitdiff
LoongArch: Fixed a bug in the loongarch architecture of libitm package.
authorLulu Cheng <chenglulu@loongson.cn>
Wed, 12 Oct 2022 03:02:11 +0000 (11:02 +0800)
committerLulu Cheng <chenglulu@loongson.cn>
Thu, 13 Oct 2022 01:54:17 +0000 (09:54 +0800)
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.

libitm/config/loongarch/sjlj.S

index a5f9fadde34c72c743f303bda9c806208639260a..f896e400e6aaa5d4276be11afa8c766be2e8328b 100644 (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
This page took 0.061336 seconds and 5 git commands to generate.