Hi, <br><br>I just downloaded 3.0 and have a try on in-line assembly code and the problem is still there.  I think it is not a critical issue for 3.0 release anyway. <br> <br>It seems clang  doesnt support "A" constraint in in-line assembly template under 64-bit mode, which basically load an 128bit data from memory to RDX:RAX, with the following error during the compiling:<br>
<br>clang -g -Wall -m64 -mcx16     try.c   -o try<br>fatal error: error in backend: Cannot select: 0x1e92f20: i64 = build_pair 0x1e92d20, 0x1e92e20 [ORD=81]<br>... (ignore the rest dump)<br><br>gcc can correctly do this.  I tried clang/llvm 2.9 on both Apple and Debian unstable, and clang-3.0rc3 binary build, all failed.  <br>
<br>Best Regards<br><br>Huaxia Zhao<br><br><br>P.S.<br><br>The test code part:<br><br>typedef __int128_t int128_t;<br><br>int128_t<br>atomic_compare_and_swap128(<br>                volatile int128_t * Mem,<br>                int128_t Swp,<br>
                int128_t Cmp)<br>{<br>  assert(Mem != NULL);<br>  int128_t Out = 0;<br>  int64_t low64  = int128__low64(Swp);  // get low and high 64-bit separately. <br>  int64_t high64 = int128__high64(Swp);<br><br>  /* the *Mem MUST BE 16-byte Aligned. */<br>
<br>  __asm__ __volatile__<br>    (<br>     "pushq %%rbx     \n"<br>     "movq %[low64], %%rbx     \n"<br>     "lock cmpxchg16b (%[Mem])  \n"<br>     "popq %%rbx     \n"<br>     : [Mem] "+D" (Mem), "=A" (Out)<br>
     : "A" (Cmp), [low64] "m" (low64), "c" (high64)<br>     );<br>  return Out;<br>}<br><br><br><div class="gmail_quote">On 12 November 2011 01:33, Huaxia <span dir="ltr"><<a href="mailto:huaxia.zhao@googlemail.com">huaxia.zhao@googlemail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hello:<br><br>Newbie here.  I just tested the LLVM 2.9 today and found the in-line assembly of clang/llvm do not handle 128-bit integer very well (as gcc-does). <br>
Both Apple and Linux version seem affected.  I will try 3.0rc3 tomorrow to see if fixed. <br>
<br>Thanks.<br><br>Huaxia Zhao<div><div></div><div class="h5"><br><br><br><br><div class="gmail_quote">On 8 November 2011 06:00, Bill Wendling <span dir="ltr"><<a href="mailto:wendling@apple.com" target="_blank">wendling@apple.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Good day, LLVMers!<br>
<br>
We are starting on our third (and hopefully last) round of testing for LLVM 3.0. Please visit:<br>
<br>
        <a href="http://llvm.org/pre-releases/3.0/rc3/" target="_blank">http://llvm.org/pre-releases/3.0/rc3/</a><br>
<br>
for the sources. There are also binaries for Darwin up there, with more to come during the week. Please build this release candidate, test it out on your projects, and let us know if you find any regressions from the 2.9 release.<br>



<br>
Please keep in mind that we are not taking any more fixes except for those issues which are critical for the release.<br>
<br>
Share and enjoy!<br>
-bw<br>
<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
</blockquote></div><br><br clear="all"><br></div></div><font color="#888888">-- <br>Huaxia Zhao (Frank)<br><a href="mailto:huaxia.zhao@gmail.com" target="_blank">huaxia.zhao@gmail.com</a><br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Huaxia Zhao (Frank)<br><a href="mailto:huaxia.zhao@gmail.com">huaxia.zhao@gmail.com</a><br>