r m/r + setc/xor

This commit is contained in:
Nikolay Volf 2016-02-24 21:36:31 +03:00
parent dd8652dbf4
commit 476bb85d41

View File

@ -91,13 +91,13 @@ macro_rules! overflowing_add_u256_asm {
unsafe { unsafe {
asm!(" asm!("
xor %al, %al xor %al, %al
adc $9, %r8 adc $9, $0
adc $10, %r9 adc $10, $1
adc $11, %r10 adc $11, $2
adc $12, %r11 adc $12, $3
adc $$0, %al" adc $$0, %al"
: "={r8}"(result[0]), "={r9}"(result[1]), "={r10}"(result[2]), "={r11}"(result[3]), "={al}"(overflow) : "=r"(result[0]), "=r"(result[1]), "=r"(result[2]), "=r"(result[3]), "={al}"(overflow)
: "{r8}"(self_t[0]), "{r9}"(self_t[1]), "{r10}"(self_t[2]), "{r11}"(self_t[3]), "m"(other_t[0]), "m"(other_t[1]), "m"(other_t[2]), "m"(other_t[3]) : "0"(self_t[0]), "1"(self_t[1]), "2"(self_t[2]), "3"(self_t[3]), "mr"(other_t[0]), "mr"(other_t[1]), "mr"(other_t[2]), "mr"(other_t[3])
: :
: :
); );