ARMEB: Fix function return type f64

Reviewed at http://reviews.llvm.org/D3968



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209990 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Christian Pirker 2014-06-01 09:30:52 +00:00
parent 05db56c676
commit 27e80698ef
2 changed files with 14 additions and 0 deletions

View File

@ -8315,6 +8315,8 @@ static SDValue PerformVMOVRRDCombine(SDNode *N,
std::min(4U, LD->getAlignment() / 2));
DAG.ReplaceAllUsesOfValueWith(SDValue(LD, 1), NewLD2.getValue(1));
if (DCI.DAG.getTargetLoweringInfo().isBigEndian())
std::swap (NewLD1, NewLD2);
SDValue Result = DCI.CombineTo(N, NewLD1, NewLD2);
DCI.RemoveFromWorklist(LD);
DAG.DeleteNode(LD);

View File

@ -0,0 +1,12 @@
; RUN: llc -mtriple=armebv7a-eabi %s -O0 -o - | FileCheck %s
; RUN: llc -mtriple=armebv8a-eabi %s -O0 -o - | FileCheck %s
define double @fn() {
; CHECK-LABEL: fn
; CHECK: ldr r0, [sp]
; CHECK: ldr r1, [sp, #4]
%r = alloca double, align 8
%1 = load double* %r, align 8
ret double %1
}