From f54e133dd2c3993ff854c9b6711b84e3492efe74 Mon Sep 17 00:00:00 2001 From: Wei Mi Date: Sun, 18 Sep 2016 06:10:32 +0000 Subject: [PATCH] Change the order of the splitted store from high - low to low - high. It is a trivial change which could make the testcase easier to be reused for the store splitting in CodeGenPrepare. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@281846 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 4 ++-- test/CodeGen/X86/split-store.ll | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 316a04ad777..bd882871246 100644 --- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -12330,10 +12330,10 @@ SDValue DAGCombiner::splitMergedValStore(StoreSDNode *ST) { DAG.getConstant(HalfValBitSize / 8, DL, Ptr.getValueType())); // Higher value store. SDValue St1 = - DAG.getStore(Chain, DL, Hi, Ptr, + DAG.getStore(St0, DL, Hi, Ptr, ST->getPointerInfo().getWithOffset(HalfValBitSize / 8), Alignment / 2, MMOFlags, AAInfo); - return DAG.getNode(ISD::TokenFactor, DL, MVT::Other, St0, St1); + return St1; } SDValue DAGCombiner::visitINSERT_VECTOR_ELT(SDNode *N) { diff --git a/test/CodeGen/X86/split-store.ll b/test/CodeGen/X86/split-store.ll index 7a491e6233d..8a276f8d2f7 100644 --- a/test/CodeGen/X86/split-store.ll +++ b/test/CodeGen/X86/split-store.ll @@ -1,8 +1,8 @@ ; RUN: llc -mtriple=x86_64-unknown-unknown < %s | FileCheck %s ; CHECK-LABEL: int32_float_pair -; CHECK: movss %xmm0, 4(%rsi) ; CHECK: movl %edi, (%rsi) +; CHECK: movss %xmm0, 4(%rsi) define void @int32_float_pair(i32 %tmp1, float %tmp2, i64* %ref.tmp) { entry: %t0 = bitcast float %tmp2 to i32 @@ -15,8 +15,8 @@ entry: } ; CHECK-LABEL: float_int32_pair -; CHECK: movl %edi, 4(%rsi) ; CHECK: movss %xmm0, (%rsi) +; CHECK: movl %edi, 4(%rsi) define void @float_int32_pair(float %tmp1, i32 %tmp2, i64* %ref.tmp) { entry: %t0 = bitcast float %tmp1 to i32 @@ -29,9 +29,9 @@ entry: } ; CHECK-LABEL: int16_float_pair -; CHECK: movss %xmm0, 4(%rsi) ; CHECK: movzwl %di, %eax ; CHECK: movl %eax, (%rsi) +; CHECK: movss %xmm0, 4(%rsi) define void @int16_float_pair(i16 signext %tmp1, float %tmp2, i64* %ref.tmp) { entry: %t0 = bitcast float %tmp2 to i32 @@ -44,9 +44,9 @@ entry: } ; CHECK-LABEL: int8_float_pair -; CHECK: movss %xmm0, 4(%rsi) ; CHECK: movzbl %dil, %eax ; CHECK: movl %eax, (%rsi) +; CHECK: movss %xmm0, 4(%rsi) define void @int8_float_pair(i8 signext %tmp1, float %tmp2, i64* %ref.tmp) { entry: %t0 = bitcast float %tmp2 to i32 -- 2.11.0