<div dir="ltr"><div>Oops - sorry about that.<br></div>The patch to fix it is on its way. :)<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 11, 2015 at 1:52 PM, Hal Finkel <span dir="ltr"><<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'm not too concerned because I know that you're working on it, but in general, if you're adding tests to capture the current state of things, and that current state is known to be suboptimal, please mark the test to some FIXME comments. That way if someone else happens to do something which accidentally makes one or all of them better, they can be happy instead of concerned.<br>
<br>
Thanks again,<br>
Hal<br>
<div class="HOEnZb"><div class="h5"><br>
----- Original Message -----<br>
> From: "Sanjay Patel via llvm-commits" <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>><br>
> To: <a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
> Sent: Friday, December 11, 2015 2:26:31 PM<br>
> Subject: [llvm] r255370 - Add tests for bitcast-bitcast sequences for all scalar/vector permutations<br>
><br>
> Author: spatel<br>
> Date: Fri Dec 11 14:26:30 2015<br>
> New Revision: 255370<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=255370&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=255370&view=rev</a><br>
> Log:<br>
> Add tests for bitcast-bitcast sequences for all scalar/vector<br>
> permutations<br>
><br>
> As noted in <a href="http://reviews.llvm.org/D15392" rel="noreferrer" target="_blank">http://reviews.llvm.org/D15392</a> , we should be able to<br>
> improve this.<br>
><br>
><br>
> Added:<br>
>     llvm/trunk/test/Transforms/InstCombine/bitcast-bitcast.ll<br>
><br>
> Added: llvm/trunk/test/Transforms/InstCombine/bitcast-bitcast.ll<br>
> URL:<br>
> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstCombine/bitcast-bitcast.ll?rev=255370&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstCombine/bitcast-bitcast.ll?rev=255370&view=auto</a><br>
> ==============================================================================<br>
> --- llvm/trunk/test/Transforms/InstCombine/bitcast-bitcast.ll (added)<br>
> +++ llvm/trunk/test/Transforms/InstCombine/bitcast-bitcast.ll Fri Dec<br>
> 11 14:26:30 2015<br>
> @@ -0,0 +1,90 @@<br>
> +; RUN: opt < %s -instcombine -S | FileCheck %s<br>
> +<br>
> +; Check all scalar / vector combinations for a pair of bitcasts.<br>
> +<br>
> +define ppc_fp128 @bitcast_bitcast_s_s_s(i128 %a) {<br>
> +  %bc1 = bitcast i128 %a to fp128<br>
> +  %bc2 = bitcast fp128 %bc1 to ppc_fp128<br>
> +  ret ppc_fp128 %bc2<br>
> +<br>
> +; CHECK-LABEL: @bitcast_bitcast_s_s_s(<br>
> +; CHECK-NEXT:  %bc2 = bitcast i128 %a to ppc_fp128<br>
> +; CHECK-NEXT:  ret ppc_fp128 %bc2<br>
> +}<br>
> +<br>
> +define <2 x i32> @bitcast_bitcast_s_s_v(i64 %a) {<br>
> +  %bc1 = bitcast i64 %a to double<br>
> +  %bc2 = bitcast double %bc1 to <2 x i32><br>
> +  ret <2 x i32> %bc2<br>
> +<br>
> +; CHECK-LABEL: @bitcast_bitcast_s_s_v(<br>
> +; CHECK-NEXT:  %bc1 = bitcast i64 %a to double<br>
> +; CHECK-NEXT:  %bc2 = bitcast double %bc1 to <2 x i32><br>
> +; CHECK-NEXT:  ret <2 x i32> %bc2<br>
> +}<br>
> +<br>
> +define double @bitcast_bitcast_s_v_s(i64 %a) {<br>
> +  %bc1 = bitcast i64 %a to <2 x i32><br>
> +  %bc2 = bitcast <2 x i32> %bc1 to double<br>
> +  ret double %bc2<br>
> +<br>
> +; CHECK-LABEL: @bitcast_bitcast_s_v_s(<br>
> +; CHECK-NEXT:  %bc1 = bitcast i64 %a to <2 x i32><br>
> +; CHECK-NEXT:  %bc2 = bitcast <2 x i32> %bc1 to double<br>
> +; CHECK-NEXT:  ret double %bc2<br>
> +}<br>
> +<br>
> +define <2 x i32> @bitcast_bitcast_s_v_v(i64 %a) {<br>
> +  %bc1 = bitcast i64 %a to <4 x i16><br>
> +  %bc2 = bitcast <4 x i16> %bc1 to <2 x i32><br>
> +  ret <2 x i32> %bc2<br>
> +<br>
> +; CHECK-LABEL: @bitcast_bitcast_s_v_v(<br>
> +; CHECK-NEXT:  %bc1 = bitcast i64 %a to <4 x i16><br>
> +; CHECK-NEXT:  %bc2 = bitcast <4 x i16> %bc1 to <2 x i32><br>
> +; CHECK-NEXT:  ret <2 x i32> %bc2<br>
> +}<br>
> +<br>
> +define i64 @bitcast_bitcast_v_s_s(<2 x i32> %a) {<br>
> +  %bc1 = bitcast <2 x i32> %a to double<br>
> +  %bc2 = bitcast double %bc1 to i64<br>
> +  ret i64 %bc2<br>
> +<br>
> +; CHECK-LABEL: @bitcast_bitcast_v_s_s(<br>
> +; CHECK-NEXT:  %bc1 = bitcast <2 x i32> %a to double<br>
> +; CHECK-NEXT:  %bc2 = bitcast double %bc1 to i64<br>
> +; CHECK-NEXT:  ret i64 %bc2<br>
> +}<br>
> +<br>
> +define <4 x i16> @bitcast_bitcast_v_s_v(<2 x i32> %a) {<br>
> +  %bc1 = bitcast <2 x i32> %a to double<br>
> +  %bc2 = bitcast double %bc1 to <4 x i16><br>
> +  ret <4 x i16> %bc2<br>
> +<br>
> +; CHECK-LABEL: @bitcast_bitcast_v_s_v(<br>
> +; CHECK-NEXT:  %bc1 = bitcast <2 x i32> %a to double<br>
> +; CHECK-NEXT:  %bc2 = bitcast double %bc1 to <4 x i16><br>
> +; CHECK-NEXT:  ret <4 x i16> %bc2<br>
> +}<br>
> +<br>
> +define double @bitcast_bitcast_v_v_s(<2 x float> %a) {<br>
> +  %bc1 = bitcast <2 x float> %a to <4 x i16><br>
> +  %bc2 = bitcast <4 x i16> %bc1 to double<br>
> +  ret double %bc2<br>
> +<br>
> +; CHECK-LABEL: @bitcast_bitcast_v_v_s(<br>
> +; CHECK-NEXT:  %bc1 = bitcast <2 x float> %a to <4 x i16><br>
> +; CHECK-NEXT:  %bc2 = bitcast <4 x i16> %bc1 to double<br>
> +; CHECK-NEXT:  ret double %bc2<br>
> +}<br>
> +<br>
> +define <2 x i32> @bitcast_bitcast_v_v_v(<2 x float> %a) {<br>
> +  %bc1 = bitcast <2 x float> %a to <4 x i16><br>
> +  %bc2 = bitcast <4 x i16> %bc1 to <2 x i32><br>
> +  ret <2 x i32> %bc2<br>
> +<br>
> +; CHECK-LABEL: @bitcast_bitcast_v_v_v(<br>
> +; CHECK-NEXT:  %bc2 = bitcast <2 x float> %a to <2 x i32><br>
> +; CHECK-NEXT:  ret <2 x i32> %bc2<br>
> +}<br>
> +<br>
><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
><br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
Hal Finkel<br>
Assistant Computational Scientist<br>
Leadership Computing Facility<br>
Argonne National Laboratory<br>
</font></span></blockquote></div><br></div>