mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-10-20 05:25:04 +08:00
Merge pull request #5345 from jiladahe1997/master
[bugfix] libcpu/arm/cortex-m/context_gcc: 修复thumb指令集汇编语法错误
This commit is contained in:
@@ -143,6 +143,7 @@ contex_ns_store:
|
|||||||
|
|
||||||
#if defined (__VFP_FP__) && !defined(__SOFTFP__)
|
#if defined (__VFP_FP__) && !defined(__SOFTFP__)
|
||||||
TST lr, #0x10 /* if(!EXC_RETURN[4]) */
|
TST lr, #0x10 /* if(!EXC_RETURN[4]) */
|
||||||
|
IT EQ
|
||||||
VSTMDBEQ r1!, {d8 - d15} /* push FPU register s16~s31 */
|
VSTMDBEQ r1!, {d8 - d15} /* push FPU register s16~s31 */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -187,6 +188,7 @@ contex_ns_load:
|
|||||||
|
|
||||||
#if defined (__VFP_FP__) && !defined(__SOFTFP__)
|
#if defined (__VFP_FP__) && !defined(__SOFTFP__)
|
||||||
TST lr, #0x10 /* if(!EXC_RETURN[4]) */
|
TST lr, #0x10 /* if(!EXC_RETURN[4]) */
|
||||||
|
IT EQ
|
||||||
VLDMIAEQ r1!, {d8 - d15} /* pop FPU register s16~s31 */
|
VLDMIAEQ r1!, {d8 - d15} /* pop FPU register s16~s31 */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -107,6 +107,7 @@ PendSV_Handler:
|
|||||||
|
|
||||||
#if defined (__VFP_FP__) && !defined(__SOFTFP__)
|
#if defined (__VFP_FP__) && !defined(__SOFTFP__)
|
||||||
TST lr, #0x10 /* if(!EXC_RETURN[4]) */
|
TST lr, #0x10 /* if(!EXC_RETURN[4]) */
|
||||||
|
IT EQ
|
||||||
VSTMDBEQ r1!, {d8 - d15} /* push FPU register s16~s31 */
|
VSTMDBEQ r1!, {d8 - d15} /* push FPU register s16~s31 */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -116,6 +117,7 @@ PendSV_Handler:
|
|||||||
MOV r4, #0x00 /* flag = 0 */
|
MOV r4, #0x00 /* flag = 0 */
|
||||||
|
|
||||||
TST lr, #0x10 /* if(!EXC_RETURN[4]) */
|
TST lr, #0x10 /* if(!EXC_RETURN[4]) */
|
||||||
|
IT EQ
|
||||||
MOVEQ r4, #0x01 /* flag = 1 */
|
MOVEQ r4, #0x01 /* flag = 1 */
|
||||||
|
|
||||||
STMFD r1!, {r4} /* push flag */
|
STMFD r1!, {r4} /* push flag */
|
||||||
@@ -137,6 +139,7 @@ switch_to_thread:
|
|||||||
|
|
||||||
#if defined (__VFP_FP__) && !defined(__SOFTFP__)
|
#if defined (__VFP_FP__) && !defined(__SOFTFP__)
|
||||||
CMP r3, #0 /* if(flag_r3 != 0) */
|
CMP r3, #0 /* if(flag_r3 != 0) */
|
||||||
|
IT NE
|
||||||
VLDMIANE r1!, {d8 - d15} /* pop FPU register s16~s31 */
|
VLDMIANE r1!, {d8 - d15} /* pop FPU register s16~s31 */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -145,6 +148,7 @@ switch_to_thread:
|
|||||||
#if defined (__VFP_FP__) && !defined(__SOFTFP__)
|
#if defined (__VFP_FP__) && !defined(__SOFTFP__)
|
||||||
ORR lr, lr, #0x10 /* lr |= (1 << 4), clean FPCA. */
|
ORR lr, lr, #0x10 /* lr |= (1 << 4), clean FPCA. */
|
||||||
CMP r3, #0 /* if(flag_r3 != 0) */
|
CMP r3, #0 /* if(flag_r3 != 0) */
|
||||||
|
IT NE
|
||||||
BICNE lr, lr, #0x10 /* lr &= ~(1 << 4), set FPCA. */
|
BICNE lr, lr, #0x10 /* lr &= ~(1 << 4), set FPCA. */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -107,6 +107,7 @@ PendSV_Handler:
|
|||||||
|
|
||||||
#if defined (__VFP_FP__) && !defined(__SOFTFP__)
|
#if defined (__VFP_FP__) && !defined(__SOFTFP__)
|
||||||
TST lr, #0x10 /* if(!EXC_RETURN[4]) */
|
TST lr, #0x10 /* if(!EXC_RETURN[4]) */
|
||||||
|
IT EQ
|
||||||
VSTMDBEQ r1!, {d8 - d15} /* push FPU register s16~s31 */
|
VSTMDBEQ r1!, {d8 - d15} /* push FPU register s16~s31 */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -116,6 +117,7 @@ PendSV_Handler:
|
|||||||
MOV r4, #0x00 /* flag = 0 */
|
MOV r4, #0x00 /* flag = 0 */
|
||||||
|
|
||||||
TST lr, #0x10 /* if(!EXC_RETURN[4]) */
|
TST lr, #0x10 /* if(!EXC_RETURN[4]) */
|
||||||
|
IT EQ
|
||||||
MOVEQ r4, #0x01 /* flag = 1 */
|
MOVEQ r4, #0x01 /* flag = 1 */
|
||||||
|
|
||||||
STMFD r1!, {r4} /* push flag */
|
STMFD r1!, {r4} /* push flag */
|
||||||
@@ -137,6 +139,7 @@ switch_to_thread:
|
|||||||
|
|
||||||
#if defined (__VFP_FP__) && !defined(__SOFTFP__)
|
#if defined (__VFP_FP__) && !defined(__SOFTFP__)
|
||||||
CMP r3, #0 /* if(flag_r3 != 0) */
|
CMP r3, #0 /* if(flag_r3 != 0) */
|
||||||
|
IT NE
|
||||||
VLDMIANE r1!, {d8 - d15} /* pop FPU register s16~s31 */
|
VLDMIANE r1!, {d8 - d15} /* pop FPU register s16~s31 */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -145,6 +148,7 @@ switch_to_thread:
|
|||||||
#if defined (__VFP_FP__) && !defined(__SOFTFP__)
|
#if defined (__VFP_FP__) && !defined(__SOFTFP__)
|
||||||
ORR lr, lr, #0x10 /* lr |= (1 << 4), clean FPCA. */
|
ORR lr, lr, #0x10 /* lr |= (1 << 4), clean FPCA. */
|
||||||
CMP r3, #0 /* if(flag_r3 != 0) */
|
CMP r3, #0 /* if(flag_r3 != 0) */
|
||||||
|
IT NE
|
||||||
BICNE lr, lr, #0x10 /* lr &= ~(1 << 4), set FPCA. */
|
BICNE lr, lr, #0x10 /* lr &= ~(1 << 4), set FPCA. */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user