auto import from //depot/cupcake/@135843
diff --git a/libm/i387/s_trunc.S b/libm/i387/s_trunc.S
new file mode 100644
index 0000000..1d78e1c
--- /dev/null
+++ b/libm/i387/s_trunc.S
@@ -0,0 +1,26 @@
+/*
+ * Based on code written by J.T. Conklin <jtc@NetBSD.org>.
+ * Public domain.
+ */
+
+#include <machine/asm.h>
+__FBSDID("$FreeBSD: src/lib/msun/i387/s_trunc.S,v 1.1 2005/04/16 21:12:55 das Exp $")
+
+ENTRY(trunc)
+	pushl	%ebp
+	movl	%esp,%ebp
+	subl	$8,%esp
+
+	fstcw	-4(%ebp)		/* store fpu control word */
+	movw	-4(%ebp),%dx
+	orw	$0x0c00,%dx		/* round towards -oo */
+	movw	%dx,-8(%ebp)
+	fldcw	-8(%ebp)		/* load modfied control word */
+
+	fldl	8(%ebp)			/* round */
+	frndint
+
+	fldcw	-4(%ebp)		/* restore original control word */
+
+	leave
+	ret