<div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial">OK. Thanks very much. By the way, does anybody know which part of  the llvm source code (or clang source code) handle this situation? Because I want to dig deeper and know how to handle this more detail. <br><div><br></div><div><br></div><div>Best Regards</div><div><br></div><div>Wu Zhao</div><br><br><br><div></div><div id="divNeteaseMailCard"></div><br><pre><br>At 2015-02-02 22:30:07, "Jaak Randmets" <jaak.ra@gmail.com> wrote:
>For 64-bit X86 code we have had good success with using up-to 128-bit
>integers (this includes say 36-bit or even 2-bit integers).
>
>On Mon, Feb 2, 2015 at 4:03 PM, Alejandro Velasco
><gollumdelperdiguero@gmail.com> wrote:
>> I asked a similar question last year here. Operations on types iN with no
>> direct translation into one assembly instruction seem to be translated into
>> several ones correctly.
>>
>
>In my experience this is *definitely* not true in practise, at least
>on x86. Using larger than 128-bit integers we have hit assertion
>failures, crashes and miscompiles. Things are even worse for vectors
>of non-legal(?) types (say <2 x i2>).
>
>Some of the issue that we hit after giving up on vectorized code and
>relying directly on LLVM for wider-than-legal types:
>
>http://llvm.org/bugs/show_bug.cgi?id=20011 (crash with <2 x i2>)
>http://llvm.org/bugs/show_bug.cgi?id=20012 (error when storing <2 x i4>)
>http://llvm.org/bugs/show_bug.cgi?id=19797 (assert failure on
>multiplication of i192)
>http://llvm.org/bugs/show_bug.cgi?id=20921 (assert failure on stores
>and loads of i193)
>http://llvm.org/bugs/show_bug.cgi?id=21184 (miscompilation of
>wider-than-legal types)
>
>I would *really* wish that the documentation made sure to mention,
>that wider-than-legal types are not expected to work.
>
>
>- Jaak
</pre></div><br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span>