Ignore:
Timestamp:
Jul 12, 2010, 5:37:52 PM (9 years ago)
Author:
ksherdy
Message:

Fixed int64_adc for llvm-g++.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/block_carry.h

    r463 r473  
    5757
    5858#define double_int64_adc(x1, x2, y1, y2, rslt1, rslt2, carry) \
    59   __asm__  ("add %[carryflag], %[e1]\n\t" \
    60         "adc %[e1], %[z1]\n\t" \
    61         "adc %[e2], %[z2]\n\t" \
    62         "mov $0, %[carryflag]\n\t" \
    63         "adc $0, %[carryflag]\n\t" \
    64         : [z1] "=r" (rslt1), [z2] "=r" (rslt2), [carryflag] "=r" (carry) \
    65         : "[z1]" (x1), "[z2]" (x2), \
    66            [e1] "r" (y1), [e2] "r" (y2), \
    67            "[carryflag]" (carry) \
    68         : "cc")
     59   __asm__ __volatile__ ("add %[carryin], %[z1]\n\t" \
     60         "adc %[e1], %[z1]\n\t" \
     61         "adc %[e2], %[z2]\n\t" \
     62         "mov $0, %[carryout]\n\t" \
     63         "adc $0, %[carryout]\n\t" \
     64         : [z1] "=a" (rslt1), [z2] "=r" (rslt2), [carryout] "=r" (carry) \
     65         : "0" (y1), "1" (y2), [carryin] "2" (carry), \
     66                   [e1] "b" (x1), [e2] "r" (x2)\
     67         : "cc")
    6968
    7069#define adc128(first, second, carry, sum) \
Note: See TracChangeset for help on using the changeset viewer.