define double @abs_d(double %a) {
; CHECK-LABEL: abs_d:
; NONE: bic r1, r1, #-2147483648
-; SP: vldr d1, .LCPI{{.*}}
-; SP: vmov r0, r1, d0
-; SP: vmov r2, r3, d1
-; SP: lsrs r2, r3, #31
-; SP: bfi r1, r2, #31, #1
-; SP: vmov d0, r0, r1
+; SP: bl __aeabi_dcmpgt
+; SP: bl __aeabi_dcmpun
+; SP: bl __aeabi_dsub
; DP: vabs.f64 d0, d0
%1 = call double @llvm.fabs.f64(double %a)
ret double %1