<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><style>body { line-height: 1.5; }blockquote { margin-top: 0px; margin-bottom: 0px; margin-left: 0.5em; }body { font-size: 10.5pt; font-family: 微软雅黑; color: rgb(0, 0, 0); line-height: 1.5; }</style></head><body>
<table width="99.99%" height="100%" style="padding: 10px; background-color: transparent;" border="0" cellpadding="0" cellspacing="0" background="cid:_Foxmail.1@5f425590-f8c2-2e6b-228f-98c10f97c18c">
<tbody><tr>
<td valign="top" style="width:100%;height:100%;">
<div style="">
<div>Subject: How to define vector element type  bool  in builtin function</div><div>hello everyone,<span style="background-color: transparent; line-height: 1.5;">I have defined  intrinsic function like this:</span></div><div><span style="background-color: rgba(0, 0, 0, 0); line-height: 1.5;">def int_mips_add_32 : GCCBuiltin<"__builtin_dongxin_add_32">,</span><span style="background-color: rgba(0, 0, 0, 0); line-height: 1.5;"> Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty,llvm_v8i1_ty]>;</span></div><div><br><div><span style="color: rgb(0, 0, 0); background-color: rgba(0, 0, 0, 0);">Then I write a test code :</span></div><div><span style="color: rgb(0, 0, 0); background-color: rgba(0, 0, 0, 0);">typedef int v4i32  __attribute__ ((vector_size(16)));<br>typedef bool v8i1  __attribute__ ((vector_size(1)));<br><br>void foo() {<br>  v4i32 v4i32_r1,v4i32_r2,v4i32_r3;<br>  v8i1 vm_1;<br>  v4i32_r1 = __builtin_dongxin_add_32(v4i32_r2,v4i32_r2,vm_1);<br>}</span><span style="color: rgb(0, 0, 0); background-color: rgba(0, 0, 0, 0);"><br></span><div><span style="background-color: transparent; line-height: 1.5;">          </span></div><div>but when I compile :  <span style="background-color: rgba(0, 0, 0, 0); line-height: 1.5;">clang -cc1  -triple mipsel-unknown-linux-gnu -emit-llvm  intrinstest.c -o test.ll</span></div><div><span style="background-color: rgba(0, 0, 0, 0); line-height: 1.5;">I got the error:</span></div><div><span style="color: rgb(0, 0, 0); background-color: rgba(0, 0, 0, 0);">intrinstest.c:4:9: error: unknown type name 'bool'<br>typedef bool v8i1  __attribute__ ((vector_size(1)));<br>        ^<br>intrinstest.c:4:36: error: vector size not an integral multiple of component size<br>typedef bool v8i1  __attribute__ ((vector_size(1)));<br>                                   ^           ~<br>intrinstest.c:9:57: error: passing 'v8i1' (aka 'int') to parameter of incompatible type '__attribute__((__vector_size__(8 * sizeof(_Bool)))) _Bool' (vector of 8 '_Bool' values)<br>  v4i32_r1 = __builtin_dongxin_add_32(v4i32_r2,v4i32_r2,vm_1);<br></span></div>
<div><br></div><div>I really do not know how to define a vector type whose element type is bool  .A<span style="background-color: rgba(0, 0, 0, 0); font-size: 16px; line-height: 1.5;">ppreciate for your help</span></div><hr style="width: 210px; height: 1px;" color="#b5c4df" size="1" align="left">
<div><span><div style="MARGIN: 10px; FONT-FAMILY: verdana; FONT-SIZE: 10pt"><div>liuyu11@ict.ac.cn</div></div></span></div>
<blockquote style="margin-top: 0px; margin-bottom: 0px; margin-left: 0.5em;"><div> </div><div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm"><div style="PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FONT-SIZE: 12px;FONT-FAMILY:tahoma;COLOR:#000000; BACKGROUND: #efefef; PADDING-BOTTOM: 8px; PADDING-TOP: 8px"><div><b>From:</b> <a href="mailto:llvm-dev@lists.llvm.org">via llvm-dev</a></div><div><b>Date:</b> 2018-04-22 03:00</div><div><b>To:</b> <a href="mailto:llvm-dev@lists.llvm.org">llvm-dev</a></div><div><b>Subject:</b> llvm-dev Digest, Vol 166, Issue 63</div></div></div><div><div>Send llvm-dev mailing list submissions to</div>
<div>     llvm-dev@lists.llvm.org</div>
<div> </div>
<div>To subscribe or unsubscribe via the World Wide Web, visit</div>
<div>     http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</div>
<div>or, via email, send a message with subject or body 'help' to</div>
<div>     llvm-dev-request@lists.llvm.org</div>
<div> </div>
<div>You can reach the person managing the list at</div>
<div>     llvm-dev-owner@lists.llvm.org</div>
<div> </div>
<div>When replying, please edit your Subject line so it is more specific</div>
<div>than "Re: Contents of llvm-dev digest..."</div>
<div> </div>
<div> </div>
<div>Today's Topics:</div>
<div> </div>
<div>   1. Re: [RFC] Turn the MachineOutliner on by default in  AArch64</div>
<div>      under -Oz (Jon Chesterfield via llvm-dev)</div>
<div>   2. How to add/use parameter attributes? Troubles with   "byval"</div>
<div>      (edA-qa mort-ora-y via llvm-dev)</div>
<div>   3. Re: [Release-testers] LLVM 5.0.2-rc2 has been tagged</div>
<div>      (Sylvestre Ledru via llvm-dev)</div>
<div> </div>
<div> </div>
<div>----------------------------------------------------------------------</div>
<div> </div>
<div>Message: 1</div>
<div>Date: Sat, 21 Apr 2018 03:33:29 +0100</div>
<div>From: Jon Chesterfield via llvm-dev <llvm-dev@lists.llvm.org></div>
<div>To: llvm-dev <llvm-dev@lists.llvm.org>,</div>
<div>     llvm-dev-request@lists.llvm.org</div>
<div>Subject: Re: [llvm-dev] [RFC] Turn the MachineOutliner on by default</div>
<div>     in      AArch64 under -Oz</div>
<div>Message-ID:</div>
<div>     <CAOUYtQB1zR-5m_7fnJf7diyZoZJby1kkhwYmtGVOwT52ttEwUQ@mail.gmail.com></div>
<div>Content-Type: text/plain; charset="utf-8"</div>
<div> </div>
<div>Teaching the back end about size optimization sounds great, even without</div>
<div>the exciting work on MachineOutliner. It would strip some nasty hacks from</div>
<div>an out of tree back end that cares about code size :)</div>
<div> </div>
<div>Thank you</div>
<div> </div>
<div> </div>
<div>> The first patch is one that teaches the backend about size optimization</div>
<div>> levels. This is comparable to what's done in the inliner. Today, the only</div>
<div>> way to tell if something is optimizing for size is by looking at function</div>
<div>> attributes. This is fine for function passes, but insufficient for module</div>
<div>> passes like the MachineOutliner. The function attribute approach forces the</div>
<div>> outliner to iterate over every function in the module before deciding to</div>
<div>> take action. If -Oz isn't passed in, then the outliner will not find any</div>
<div>> functions worth outlining from. This would incur unnecessary compile-time</div>
<div>> overhead. Thus, we decided the best course of action is to teach the</div>
<div>> backend about size options.</div>
<div>></div>
<div>> The second patch teaches llc to handle -Oz and -Os.</div>
<div>></div>
<div>-------------- next part --------------</div>
<div>An HTML attachment was scrubbed...</div>
<div>URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180421/bdb8b423/attachment-0001.html></div>
<div> </div>
<div>------------------------------</div>
<div> </div>
<div>Message: 2</div>
<div>Date: Sat, 21 Apr 2018 19:01:15 +0200</div>
<div>From: edA-qa mort-ora-y via llvm-dev <llvm-dev@lists.llvm.org></div>
<div>To: LLVM Developers Mailing List <llvm-dev@lists.llvm.org></div>
<div>Subject: [llvm-dev] How to add/use parameter attributes? Troubles with</div>
<div>     "byval"</div>
<div>Message-ID: <4643e384-6ce5-5095-2ebd-fa6244e0d7be@disemia.com></div>
<div>Content-Type: text/plain; charset=utf-8</div>
<div> </div>
<div>I'm unable to figure out how IR attributes can be added via the C++ API.</div>
<div>I need to create a function like this:</div>
<div> </div>
<div>    %1 = call i64 @abi_call_test_tuple_2p(%struct.abi_tuple_2p* byval</div>
<div>align 8 %v)</div>
<div> </div>
<div>Where a structure is being passed by value. I need to add the `byval`</div>
<div>attribute somewhere (I'm not clear if this is on the function arguments</div>
<div>or the type).</div>
<div> </div>
<div>I'm also uncertain of why that results in a different calling convention</div>
<div>than just:</div>
<div> </div>
<div>    %1 = call i64 @abi_call_test_tuple_2p(%":abi_tuple_2" %0)</div>
<div> </div>
<div>Does this not also pass the same structure by-value to the function? </div>
<div>(It doesn't yield the same results it appears).</div>
<div> </div>
<div>-- </div>
<div>edA-qa mort-ora-y  </div>
<div>     http://mortoray.com/</div>
<div> </div>
<div>Creator of the Leaf language</div>
<div>     http://leaflang.org/</div>
<div> </div>
<div>Streaming algorithms, AI, and design on Twitch</div>
<div>     https://www.twitch.tv/mortoray</div>
<div> </div>
<div>Twitter</div>
<div>     edaqa</div>
<div>     </div>
<div> </div>
<div> </div>
<div> </div>
<div>------------------------------</div>
<div> </div>
<div>Message: 3</div>
<div>Date: Sat, 21 Apr 2018 09:28:53 +0200</div>
<div>From: Sylvestre Ledru via llvm-dev <llvm-dev@lists.llvm.org></div>
<div>To: tstellar@redhat.com, Release-testers</div>
<div>     <release-testers@lists.llvm.org>, llvm-dev <llvm-dev@lists.llvm.org>,</div>
<div>     cfe-dev <cfe-dev@lists.llvm.org></div>
<div>Subject: Re: [llvm-dev] [Release-testers] LLVM 5.0.2-rc2 has been</div>
<div>     tagged</div>
<div>Message-ID: <296964ac-bef0-7e3d-0650-abcbbfa75d77@debian.org></div>
<div>Content-Type: text/plain; charset=utf-8</div>
<div> </div>
<div> </div>
<div>Le 20/04/2018 à 18:29, Tom Stellard via Release-testers a écrit :</div>
<div>> On 03/29/2018 08:09 PM, Tom Stellard via Release-testers wrote:</div>
<div>>> Hi,</div>
<div>>></div>
<div>>> I've fixed the version numbering and tagged 5.0.2-rc2.  Testers can</div>
<div>>> begin testing.</div>
<div>>></div>
<div>> So far, I've only received 5.0.2-rc2 binaries from 2 testers.  I am</div>
<div>> guessing this is due to the mix up with -rc1 and the fact that we don't</div>
<div>> normally do X.Y.2 releases.</div>
<div> </div>
<div>I uploaded rc1 immediately (with the version fix) and didn't find any issue!</div>
<div> </div>
<div>Cheers,</div>
<div>Sylvestre</div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div>------------------------------</div>
<div> </div>
<div>Subject: Digest Footer</div>
<div> </div>
<div>_______________________________________________</div>
<div>llvm-dev mailing list</div>
<div>llvm-dev@lists.llvm.org</div>
<div>http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</div>
<div> </div>
<div> </div>
<div>------------------------------</div>
<div> </div>
<div>End of llvm-dev Digest, Vol 166, Issue 63</div>
<div>*****************************************</div>
</div></blockquote>
<div></div></div></div></div>
</td>
</tr>
</tbody></table>
</body></html>