libgloss: bfin: fix asm constraints for raise/excpt helpers

The RAISE and EXPT insns take a constant, not a register.  So make
sure the asm constraints reflect this.
This commit is contained in:
Michael Frysinger 2011-03-27 03:47:30 +00:00
parent 0f6ab41477
commit d2d0cc5c32
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2011-03-26 Mike Frysinger <vapier@gentoo.org>
* bfin/include/builtins.h (__builtin_raise): Change constraint to i.
(__builtin_excpt): Likewise.
2011-03-26 Mike Frysinger <vapier@gentoo.org>
* bfin/Makefile.in (install-sim): Exit when install fails.

View File

@ -34,8 +34,8 @@ extern "C" {
#define __builtin_cli() ({ unsigned int __rval; __asm__ __volatile__ ("cli %0;" : "=r"(__rval)); __rval; })
#define __builtin_sti(x) __asm__ __volatile__ ("sti %0;" : : "r"(x))
#define __builtin_idle() __asm__ __volatile__ ("IDLE;")
#define __builtin_raise(x) __asm__ __volatile__ ("raise %0;" : : "r"(x))
#define __builtin_excpt(x) __asm__ __volatile__ ("excpt %0;" : : "r"(x))
#define __builtin_raise(x) __asm__ __volatile__ ("raise %0;" : : "n"(x))
#define __builtin_excpt(x) __asm__ __volatile__ ("excpt %0;" : : "n"(x))
#define __builtin_prefetch(x) __asm__ __volatile__ ("PREFETCH[%0];" : : "p"(x))
#define __builtin_prefetchmodup(x) ({ void *__p = &(x); __asm__ __volatile__ ("PREFETCH[%0++];" : "+p"(__p)); __p; })
#define __builtin_flushinv(x) __asm__ __volatile__ ("FLUSHINV[%0];" : : "p"(x))