Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | } |