From: Eli Friedman Date: Fri, 24 Feb 2017 02:58:49 +0000 (+0000) Subject: Fix old testcase for dead store to match the original intent. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c39d5e685a41a98d6feea3ffb706d14f6b8c1b65;p=llvm Fix old testcase for dead store to match the original intent. The x86 backend has a special case for load+xor+store, which isn't really what this is trying to test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@296077 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/CodeGen/X86/longlong-deadload.ll b/test/CodeGen/X86/longlong-deadload.ll index 3adaf49e372..21974099ff7 100644 --- a/test/CodeGen/X86/longlong-deadload.ll +++ b/test/CodeGen/X86/longlong-deadload.ll @@ -1,14 +1,22 @@ -; RUN: llc < %s -march=x86 | FileCheck %s -; This should not load or store the top part of *P. +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py +; RUN: llc < %s -mtriple=i686-pc-linux-gnu | FileCheck %s +; FIXME: This should not load or store the top part of *P. define void @test(i64* %P) nounwind { ; CHECK-LABEL: test: -; CHECK: movl 4(%esp), %[[REGISTER:.*]] -; CHECK-NOT: 4(%[[REGISTER]]) -; CHECK: ret - %tmp1 = load i64, i64* %P, align 8 ; [#uses=1] - %tmp2 = xor i64 %tmp1, 1 ; [#uses=1] - store i64 %tmp2, i64* %P, align 8 - ret void +; CHECK: # BB#0: +; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax +; CHECK-NEXT: movl (%eax), %ecx +; CHECK-NEXT: movl 4(%eax), %edx +; CHECK-NEXT: xorl $1, %ecx +; CHECK-NEXT: orl $2, %ecx +; CHECK-NEXT: movl %edx, 4(%eax) +; CHECK-NEXT: movl %ecx, (%eax) +; CHECK-NEXT: retl + %tmp1 = load i64, i64* %P, align 8 + %tmp2 = xor i64 %tmp1, 1 + %tmp3 = or i64 %tmp2, 2 + store i64 %tmp3, i64* %P, align 8 + ret void }