LegalizeDAG: Fix and improve FCOPYSIGN/FABS legalization
[oota-llvm.git] / test / CodeGen / Thumb2 / float-intrinsics-double.ll
index 01a23bd0fe69715fb0286acec64b4860e28de68b..b34176d41a4c3b2b547b3b93bab65ba4177b9ccf 100644 (file)
@@ -109,9 +109,12 @@ declare double     @llvm.fabs.f64(double %Val)
 define double @abs_d(double %a) {
 ; CHECK-LABEL: abs_d:
 ; NONE: bic r1, r1, #-2147483648
-; SP: bl __aeabi_dcmpgt
-; SP: bl __aeabi_dcmpun
-; SP: bl __aeabi_dsub
+; 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
 ; DP: vabs.f64 d0, d0
   %1 = call double @llvm.fabs.f64(double %a)
   ret double %1