blob: e50059a7e64d43e6bfe20e4d9878b11932394086 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001From a85c78ea1393985fdb6e6678dea19135c553d341 Mon Sep 17 00:00:00 2001
2From: Mark H Weaver <mhw@netris.org>
3Date: Fri, 19 Sep 2014 21:18:09 -0400
4Subject: [PATCH] VM: ASM_MUL for ARM: Add earlyclobber constraint to the SMULL
5 outputs.
6
7Reported by Rob Browning <rlb@defaultvalue.org>.
8
9* libguile/vm-i-scheme.c (ASM_MUL)[ARM]: Add earlyclobber (&) constraint
10 to the SMULL output registers.
11
12Author: Mark H Weaver <mhw@netris.org>
13
14Upstream-Status: Backport
15
16Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
17---
18 libguile/vm-i-scheme.c | 5 ++---
19 1 file changed, 2 insertions(+), 3 deletions(-)
20
21diff --git a/libguile/vm-i-scheme.c b/libguile/vm-i-scheme.c
22index 587aa95..162efab 100644
23--- a/libguile/vm-i-scheme.c
24+++ b/libguile/vm-i-scheme.c
25@@ -1,5 +1,4 @@
26-/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013,
27- * 2014 Free Software Foundation, Inc.
28+/* Copyright (C) 2001, 2009-2014 Free Software Foundation, Inc.
29 *
30 * This library is free software; you can redistribute it and/or
31 * modify it under the terms of the GNU Lesser General Public License
32@@ -363,7 +362,7 @@ VM_DEFINE_FUNCTION (149, ge, "ge?", 2)
33 { \
34 scm_t_signed_bits rlo, rhi; \
35 asm ("smull %0, %1, %2, %3\n" \
36- : "=r" (rlo), "=r" (rhi) \
37+ : "=&r" (rlo), "=&r" (rhi) \
38 : "r" (SCM_UNPACK (x) - scm_tc2_int), \
39 "r" (SCM_I_INUM (y))); \
40 if (SCM_LIKELY (SCM_SRS (rlo, 31) == rhi)) \
41--
422.3.5
43