Fix Savannah bug #25588.

* builds/unix/ftconfig.in (FT_MulFix_arm): Use correct syntax for
`orr' instruction.
This commit is contained in:
Werner Lemberg 2009-02-15 07:54:35 +00:00
parent f40170a74e
commit 1e8599240f
2 changed files with 15 additions and 8 deletions

View File

@ -1,3 +1,10 @@
2009-02-15 Matt Godbolt <matt@godbolt.org>
Fix Savannah bug #25588.
* builds/unix/ftconfig.in (FT_MulFix_arm): Use correct syntax for
`orr' instruction.
2009-02-11 Werner Lemberg <wl@gnu.org>
* src/truetype/ttobjs.c (tt_check_trickyness): Add `DFKaiShu'.

View File

@ -4,7 +4,7 @@
/* */
/* UNIX-specific configuration file (specification only). */
/* */
/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007, 2008 by */
/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -299,13 +299,13 @@ FT_BEGIN_HEADER
asm __volatile__ (
"smull %1, %2, %4, %3\n\t" /* (lo=%1,hi=%2) = a*b */
"mov %0, %2, asr #31\n\t" /* %0 = (hi >> 31) */
"add %0, %0, #0x8000\n\t" /* %0 += 0x8000 */
"adds %1, %1, %0\n\t" /* %1 += %0 */
"adc %2, %2, #0\n\t" /* %2 += carry */
"mov %0, %1, lsr #16\n\t" /* %0 = %1 >> 16 */
"orr %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */
"smull %1, %2, %4, %3\n\t" /* (lo=%1,hi=%2) = a*b */
"mov %0, %2, asr #31\n\t" /* %0 = (hi >> 31) */
"add %0, %0, #0x8000\n\t" /* %0 += 0x8000 */
"adds %1, %1, %0\n\t" /* %1 += %0 */
"adc %2, %2, #0\n\t" /* %2 += carry */
"mov %0, %1, lsr #16\n\t" /* %0 = %1 >> 16 */
"orr %0, %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */
: "=r"(a), "=&r"(t2), "=&r"(t)
: "r"(a), "r"(b) );
return a;