 Timestamp:
 Jul 12, 2010, 5:37:52 PM (9 years ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

trunk/lib/block_carry.h
r463 r473 57 57 58 58 #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") 69 68 70 69 #define adc128(first, second, carry, sum) \
Note: See TracChangeset
for help on using the changeset viewer.