diff --git a/std/math/exponential.d b/std/math/exponential.d
index aa8e887a32c..b7ed71847be 100644
--- a/std/math/exponential.d
+++ b/std/math/exponential.d
@@ -37,7 +37,19 @@ import std.traits :  isFloatingPoint, isIntegral, isSigned, isUnsigned, Largest,
 static import core.math;
 static import core.stdc.math;
 
-version (DigitalMars)
+version (LDC)
+{
+    version (CRuntime_Microsoft) version = LDC_MSVCRT;
+
+    version (LDC_MSVCRT)   {}
+    else version (Android) {}
+    else
+    {
+        version (X86)    version = INLINE_YL2X;
+        version (X86_64) version = INLINE_YL2X;
+    }
+}
+else version (DigitalMars)
 {
     version = INLINE_YL2X;        // x87 has opcodes for these
 }
@@ -45,7 +57,9 @@ version (DigitalMars)
 version (D_InlineAsm_X86)    version = InlineAsm_X86_Any;
 version (D_InlineAsm_X86_64) version = InlineAsm_X86_Any;
 
-version (InlineAsm_X86_Any) version = InlineAsm_X87;
+version (LDC_MSVCRT)   {}
+else version (Android) {}
+else version (InlineAsm_X86_Any) version = InlineAsm_X87;
 version (InlineAsm_X87)
 {
     static assert(real.mant_dig == 64);
diff --git a/std/math/rounding.d b/std/math/rounding.d
index a00759baa7d..01fd2d2b64e 100644
--- a/std/math/rounding.d
+++ b/std/math/rounding.d
@@ -25,10 +25,17 @@ static import core.stdc.math;
 
 import std.traits : isFloatingPoint, isIntegral, Unqual;
 
+version (LDC)
+{
+    version (CRuntime_Microsoft) version = LDC_MSVCRT;
+}
+
 version (D_InlineAsm_X86)    version = InlineAsm_X86_Any;
 version (D_InlineAsm_X86_64) version = InlineAsm_X86_Any;
 
-version (InlineAsm_X86_Any) version = InlineAsm_X87;
+version (LDC_MSVCRT)   {}
+else version (Android) {}
+else version (InlineAsm_X86_Any) version = InlineAsm_X87;
 version (InlineAsm_X87)
 {
     static assert(real.mant_dig == 64);
diff --git a/std/math/trigonometry.d b/std/math/trigonometry.d
index 06a7cb10b35..52c28687aab 100644
--- a/std/math/trigonometry.d
+++ b/std/math/trigonometry.d
@@ -42,10 +42,17 @@ module std.math.trigonometry;
 
 static import core.math;
 
+version (LDC)
+{
+    version (CRuntime_Microsoft) version = LDC_MSVCRT;
+}
+
 version (D_InlineAsm_X86)    version = InlineAsm_X86_Any;
 version (D_InlineAsm_X86_64) version = InlineAsm_X86_Any;
 
-version (InlineAsm_X86_Any) version = InlineAsm_X87;
+version (LDC_MSVCRT)   {}
+else version (Android) {}
+else version (InlineAsm_X86_Any) version = InlineAsm_X87;
 version (InlineAsm_X87)
 {
     static assert(real.mant_dig == 64);