<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
> ================<br>
> Comment at: test/CodeGen/X86/fp128-i128.ll:44<br>
> @@ +43,3 @@<br>
> +; CHECK:       movaps %xmm0, -24(%rsp)<br>
> +; CHECK-NEXT:  movq -24(%rsp), %rax<br>
> +; CHECK-NEXT:  movabsq $281474976710655, %rcx<br>
> ----------------<br>
> davidxl wrote:<br>
>> The pattern checked is pretty long -- I worry it may break in the future. Is it possible to relax it some how?<br>
> I tried to reduce the C code, but any reduction won't trigger the complicated IL that reached a point that my partial fix core dumped. Maybe we can take out a few CHECK-NEXT requirements.<br>
<br>
</div></div>Where does it core-dump? If it is in new code, it needs to be fixed :)<br>
Otherwise file a bug.<br>
<span class=""><br></span></blockquote><div><br></div><div>Ah, I meant my incomplete fix at some time in the past.</div><div>My current patch passes these tests.</div><div>Adding these tests might catch future regression if anyone changes f128 optimization.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
><br>
> On the other hard, I was terrified by so many ad-hoc optimizations of floating points for the usage patterns in libm.<br>
> I guess llvm tried to match or do better then gcc and libm tried to use every possible bit operations.<br>
> So maybe it is better for Android or anyone depends on f128 type to have more check rules here.<br>
> Whoever changes float optimization in the future has better fully understand and update these tests.<br>
<br>
</span>Maybe these complicated/fragile case do not belong here -- but<br>
somewhere downstream (libm).<br></blockquote><div><br></div><div>Yes, AOSP bionic has already libm unit tests.</div><div>Most of my unit tests here are reduced from failed cases I hit with my incomplete work.</div><div>Now this patch passes all AOSP libm tests.</div><div><br></div><div>It's difficult to expect all people changing LLVM floating points run through all libm tests for the Android target. So I do my best to add more unit tests here.</div><div><br></div><div>-- chh</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
David<br>
<br>
<br>
><br>
><br>
><br>
><br>
> <a href="http://reviews.llvm.org/D11438" rel="noreferrer" target="_blank">http://reviews.llvm.org/D11438</a><br>
><br>
><br>
><br>
</blockquote></div><br></div></div>