[llvm] r332500 - [x86] preserve test intent by removing undef
Sanjay Patel via llvm-commits
llvm-commits at lists.llvm.org
Wed May 16 10:58:08 PDT 2018
Author: spatel
Date: Wed May 16 10:58:08 2018
New Revision: 332500
URL: http://llvm.org/viewvc/llvm-project?rev=332500&view=rev
Log:
[x86] preserve test intent by removing undef
We need to clean up the DAG floating-point undef logic.
This process is similar to how we handled integer undef
logic in D43141.
And as we did there, I'm trying to reduce the patch by
changing tests that would probably become meaningless
once we make those fixes.
Modified:
llvm/trunk/test/CodeGen/X86/pr34177.ll
Modified: llvm/trunk/test/CodeGen/X86/pr34177.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/pr34177.ll?rev=332500&r1=332499&r2=332500&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/pr34177.ll (original)
+++ llvm/trunk/test/CodeGen/X86/pr34177.ll Wed May 16 10:58:08 2018
@@ -24,27 +24,27 @@ define void @test() local_unnamed_addr {
; CHECK-NEXT: fcmove %st(4), %st(0)
; CHECK-NEXT: movl $1, %eax
; CHECK-NEXT: cmpq %rax, %rax
-; CHECK-NEXT: fld %st(3)
-; CHECK-NEXT: fcmove %st(5), %st(0)
-; CHECK-NEXT: fstp %st(5)
-; CHECK-NEXT: fxch %st(2)
-; CHECK-NEXT: fadd %st(3)
-; CHECK-NEXT: fxch %st(4)
-; CHECK-NEXT: fadd %st(3)
+; CHECK-NEXT: fxch %st(3)
+; CHECK-NEXT: fcmove %st(4), %st(0)
+; CHECK-NEXT: fstp %st(4)
+; CHECK-NEXT: fxch %st(1)
+; CHECK-NEXT: fadd %st(0), %st(0)
+; CHECK-NEXT: fxch %st(3)
+; CHECK-NEXT: fadd %st(0), %st(0)
; CHECK-NEXT: fxch %st(2)
-; CHECK-NEXT: fadd %st(3)
+; CHECK-NEXT: fadd %st(0), %st(0)
; CHECK-NEXT: fxch %st(1)
-; CHECK-NEXT: faddp %st(3)
+; CHECK-NEXT: fadd %st(0), %st(0)
; CHECK-NEXT: fxch %st(3)
; CHECK-NEXT: fstpt (%rax)
-; CHECK-NEXT: fxch %st(1)
+; CHECK-NEXT: fxch %st(2)
; CHECK-NEXT: fstpt (%rax)
; CHECK-NEXT: fxch %st(1)
; CHECK-NEXT: fstpt (%rax)
; CHECK-NEXT: fstpt (%rax)
%1 = icmp eq <4 x i64> <i64 0, i64 1, i64 2, i64 3>, undef
%2 = select <4 x i1> %1, <4 x x86_fp80> <x86_fp80 0xK3FFF8000000000000000, x86_fp80 0xK3FFF8000000000000000, x86_fp80 0xK3FFF8000000000000000, x86_fp80 0xK3FFF8000000000000000>, <4 x x86_fp80> zeroinitializer
- %3 = fadd <4 x x86_fp80> undef, %2
+ %3 = fadd <4 x x86_fp80> %2, %2
%4 = shufflevector <4 x x86_fp80> %3, <4 x x86_fp80> undef, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
store <8 x x86_fp80> %4, <8 x x86_fp80>* undef, align 16
unreachable
More information about the llvm-commits
mailing list