negdi2.c 592 B

12345678910111213141516171819202122232425
  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. typedef int DItype __attribute__ ((mode (DI)));
  14. DItype __negdi2 (DItype x)
  15. {
  16. __asm__ __volatile__
  17. ("not r6, r10;"
  18. "add 1, r10;"
  19. "setf c, r6;"
  20. "not r7, r11;"
  21. "add r6, r11"
  22. ::: "r6", "r7", "r10", "r11");
  23. }