OSDN Git Service

[x86] add test for fneg matching failure; NFC
authorSanjay Patel <spatel@rotateright.com>
Fri, 5 Oct 2018 14:49:20 +0000 (14:49 +0000)
committerSanjay Patel <spatel@rotateright.com>
Fri, 5 Oct 2018 14:49:20 +0000 (14:49 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@343854 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/X86/vec_fneg.ll

index d198964..26c233f 100644 (file)
@@ -98,3 +98,22 @@ define <2 x float> @fneg_bitcast(i64 %i) nounwind {
   %fneg = fsub <2 x float> <float -0.0, float -0.0>, %bitcast
   ret <2 x float> %fneg
 }
+
+define <4 x float> @undef_elts_v4f32(<4 x float> %x) {
+; X32-SSE-LABEL: undef_elts_v4f32:
+; X32-SSE:       # %bb.0:
+; X32-SSE-NEXT:    movaps {{.*#+}} xmm1 = <-0,u,u,-0>
+; X32-SSE-NEXT:    subps %xmm0, %xmm1
+; X32-SSE-NEXT:    movaps %xmm1, %xmm0
+; X32-SSE-NEXT:    retl
+;
+; X64-SSE-LABEL: undef_elts_v4f32:
+; X64-SSE:       # %bb.0:
+; X64-SSE-NEXT:    movaps {{.*#+}} xmm1 = <-0,u,u,-0>
+; X64-SSE-NEXT:    subps %xmm0, %xmm1
+; X64-SSE-NEXT:    movaps %xmm1, %xmm0
+; X64-SSE-NEXT:    retq
+  %r = fsub <4 x float> <float -0.0, float undef, float undef, float -0.0>, %x
+  ret <4 x float> %r
+}
+