diff --git a/test/CodeGen/AArch64/misched-fusion-addr.ll b/test/CodeGen/AArch64/misched-fusion-addr.ll
index 9dfe9d3b60241126f5c6ccfb00443915f66f6581..f851148cca4e34a87a7718077a6f3e6bfd6dc1de 100644
--- a/test/CodeGen/AArch64/misched-fusion-addr.ll
+++ b/test/CodeGen/AArch64/misched-fusion-addr.ll
@@ -98,15 +98,17 @@ define void @ldst_float() {
 }
 
 define void @ldst_double() {
+  %valf = load volatile float, float* @var_float
+  %vale = fpext float %valf to double
   %vald = load volatile double, double* @var_double
-  %val = insertelement <2 x double> undef, double %vald, i32 0
-  %vald2 = insertelement <2 x double> %val, double %vald, i32 1
+  %vald1 = insertelement <2 x double> undef, double %vald, i32 0
+  %vald2 = insertelement <2 x double> %vald1, double %vale, i32 1
   store volatile <2 x double> %vald2, <2 x double>* @var_double2
   ret void
 
 ; CHECK-LABEL: ldst_double:
 ; CHECK: adrp [[RD:x[0-9]+]], var_double
-; CHECK-NEXT: add {{x[0-9]+}}, [[RD]], {{#?}}:lo12:var_double
+; CHECK-NEXT: ldr {{d[0-9]+}}, {{\[}}[[RD]], {{#?}}:lo12:var_double{{\]}}
 ; CHECK: adrp [[RQ:x[0-9]+]], var_double2
 ; CHECK-NEXT: str {{q[0-9]+}}, {{\[}}[[RQ]], {{#?}}:lo12:var_double2{{\]}}
 }