diff options
author | Rickard Green <[email protected]> | 2016-02-22 19:20:35 +0100 |
---|---|---|
committer | Rickard Green <[email protected]> | 2016-02-22 19:20:35 +0100 |
commit | 3ac4a18199b9f35224624851b01a0d3cb6e8e0e1 (patch) | |
tree | 777ddb16e86fb75123607cc73ce750992427edcf /erts/aclocal.m4 | |
parent | d14f2d178d8abcaebd5b14e25ca8ac9a71775271 (diff) | |
parent | eb59e961ae05048ea30362aafb7f91db26ceb939 (diff) | |
download | otp-3ac4a18199b9f35224624851b01a0d3cb6e8e0e1.tar.gz otp-3ac4a18199b9f35224624851b01a0d3cb6e8e0e1.tar.bz2 otp-3ac4a18199b9f35224624851b01a0d3cb6e8e0e1.zip |
Merge branch 'rickard/dw-cmpxchg-clang/OTP-13336' into maint
* rickard/dw-cmpxchg-clang/OTP-13336:
Improve cmpxchg8b/cmpxchg16b inline asm
Diffstat (limited to 'erts/aclocal.m4')
-rw-r--r-- | erts/aclocal.m4 | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/erts/aclocal.m4 b/erts/aclocal.m4 index 3db6ff5b4c..ec9b66bf29 100644 --- a/erts/aclocal.m4 +++ b/erts/aclocal.m4 @@ -2157,8 +2157,8 @@ case "$GCC-$host_cpu" in "lock; cmpxchg16b %0\n\t" #endif "setz %3\n\t" - : "=m"(*p), "=d"(xchg[1]), "=a"(xchg[0]), "=c"(xchgd) - : "m"(*p), "1"(xchg[1]), "2"(xchg[0]), "3"(new[1]), "b"(new[0]) + : "=m"(*p), "=d"(xchg[1]), "=a"(xchg[0]), "=q"(xchgd) + : "m"(*p), "1"(xchg[1]), "2"(xchg[0]), "c"(new[1]), "b"(new[0]) : "cc", "memory"); ], [plain_cmpxchg=yes]) @@ -2217,8 +2217,8 @@ case "$GCC-$host_cpu" in "lock; cmpxchg8b %0\n\t" "setz %3\n\t" "popl %%ebx\n\t" - : "=m"(*p), "=d"(xchg[1]), "=a"(xchg[0]), "=c"(xchgd) - : "m"(*p), "1"(xchg[1]), "2"(xchg[0]), "3"(new[1]), "r"(new[0]) + : "=m"(*p), "=d"(xchg[1]), "=a"(xchg[0]), "=q"(xchgd) + : "m"(*p), "1"(xchg[1]), "2"(xchg[0]), "c"(new[1]), "r"(new[0]) : "cc", "memory"); ], [gcc_pic_dw_cmpxchg_asm=yes @@ -2238,14 +2238,14 @@ case "$GCC-$host_cpu" in char xchgd; long new[2], xchg[2], *p; __asm__ __volatile__( - "pushl %%ebx\n\t" - "movl (%7), %%ebx\n\t" - "movl 4(%7), %%ecx\n\t" - "lock; cmpxchg8b %0\n\t" - "setz %3\n\t" - "popl %%ebx\n\t" - : "=m"(*p), "=d"(xchg[1]), "=a"(xchg[0]), "=c"(xchgd) - : "m"(*p), "1"(xchg[1]), "2"(xchg[0]), "3"(new) + "pushl %%ebx\n\t" + "movl (%7), %%ebx\n\t" + "movl 4(%7), %%ecx\n\t" + "lock; cmpxchg8b %0\n\t" + "setz %3\n\t" + "popl %%ebx\n\t" + : "=m"(*p), "=d"(xchg[1]), "=a"(xchg[0]), "=c"(xchgd) + : "m"(*p), "1"(xchg[1]), "2"(xchg[0]), "r"(new) : "cc", "memory"); ], |