aboutsummaryrefslogtreecommitdiff
path: root/libgcc/config/riscv/multi3.S
diff options
context:
space:
mode:
Diffstat (limited to 'libgcc/config/riscv/multi3.S')
-rw-r--r--libgcc/config/riscv/multi3.S13
1 files changed, 11 insertions, 2 deletions
diff --git a/libgcc/config/riscv/multi3.S b/libgcc/config/riscv/multi3.S
index 4d454e6..a3b89c6 100644
--- a/libgcc/config/riscv/multi3.S
+++ b/libgcc/config/riscv/multi3.S
@@ -23,6 +23,8 @@ a copy of the GCC Runtime Library Exception along with this program;
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+#include "riscv-asm.h"
+
.text
.align 2
@@ -31,8 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
# define __multi3 __muldi3
#endif
- .globl __multi3
-__multi3:
+FUNC_BEGIN (__multi3)
#if __riscv_xlen == 32
/* Our RV64 64-bit routines are equivalent to our RV32 32-bit routines. */
@@ -79,3 +80,11 @@ __multi3:
mv a0, t2
mv a1, t4
jr t0
+
+#if __riscv_xlen == 32
+/* Our RV64 64-bit routines are equivalent to our RV32 32-bit routines. */
+# undef __muldi3
+#endif
+
+FUNC_END (__multi3)
+