diff options
author | Tetsuma Hoshino <t-hoshino@pony-e.jp> | 2023-04-08 08:19:53 -0600 |
---|---|---|
committer | Jeff Law <jlaw@ventanamicro> | 2023-04-08 08:26:00 -0600 |
commit | 79fb2de020c499bd01708e1418965a11166b7d5b (patch) | |
tree | beec3f471c56f7bef2adac4498091eb3d02a2759 /libgcc | |
parent | c18b1b0bc78c27257cfc8448581564337412f567 (diff) | |
download | gcc-79fb2de020c499bd01708e1418965a11166b7d5b.zip gcc-79fb2de020c499bd01708e1418965a11166b7d5b.tar.gz gcc-79fb2de020c499bd01708e1418965a11166b7d5b.tar.bz2 |
PR target/109402: v850 (not v850e) variant of __muldi3() moves sp in reversed direction [PR109402]
muldi3 will deallocate stack space after the call to __save_r26_r31,
then re-allocate the space a short while later. If an interrupt
occurs in that window, it can clobber items on the stack.
PR target/109402
libgcc/
* config/v850/lib1funcs.S (___muldi3): Remove unnecessary
stack manipulations.
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/config/v850/lib1funcs.S | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/libgcc/config/v850/lib1funcs.S b/libgcc/config/v850/lib1funcs.S index 20fa499..35b5ab5 100644 --- a/libgcc/config/v850/lib1funcs.S +++ b/libgcc/config/v850/lib1funcs.S @@ -2211,7 +2211,6 @@ ___ucmpdi2: ___muldi3: #ifdef __v850__ jarl __save_r26_r31, r10 - addi 16, sp, sp mov r6, r28 shr 15, r28 movea lo(32767), r0, r14 @@ -2256,7 +2255,6 @@ ___muldi3: mulh r12, r6 mov r28, r17 mulh r10, r17 - add -16, sp mov r28, r12 mulh r8, r12 add r17, r18 |