Merge master.kernel.org:/home/rmk/linux-2.6-mmc
[linux-2.6] / arch / v850 / lib / negdi2.c
1 /*
2  * arch/v850/lib/negdi2.c -- 64-bit negation
3  *
4  *  Copyright (C) 2001  NEC Corporation
5  *  Copyright (C) 2001  Miles Bader <miles@gnu.org>
6  *
7  * This file is subject to the terms and conditions of the GNU General
8  * Public License.  See the file COPYING in the main directory of this
9  * archive for more details.
10  *
11  * Written by Miles Bader <miles@gnu.org>
12  */
13
14 typedef          int DItype     __attribute__ ((mode (DI)));
15
16 DItype __negdi2 (DItype x)
17 {
18         __asm__ __volatile__
19                 ("not   r6, r10;"
20                  "add   1, r10;"
21                  "setf  c, r6;"
22                  "not   r7, r11;"
23                  "add   r6, r11"
24                  ::: "r6", "r7", "r10", "r11");
25 }