Mesa (master): gallivm: Add a note about SSE4.1's nearest mode rounding.
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Mon Oct 18 16:35:37 UTC 2010
Module: Mesa
Branch: master
Commit: ac17c62ecebf684eefcff65b9d58947a61ac361b
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ac17c62ecebf684eefcff65b9d58947a61ac361b
Author: José Fonseca <jfonseca at vmware.com>
Date: Mon Oct 18 09:32:35 2010 -0700
gallivm: Add a note about SSE4.1's nearest mode rounding.
---
src/gallium/auxiliary/gallivm/lp_bld_arit.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_arit.c b/src/gallium/auxiliary/gallivm/lp_bld_arit.c
index 00f419a..f9a12a4 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_arit.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_arit.c
@@ -983,6 +983,12 @@ enum lp_build_round_sse41_mode
};
+/**
+ * Helper for SSE4.1's ROUNDxx instructions.
+ *
+ * NOTE: In the SSE4.1's nearest mode, if two values are equally close, the
+ * result is the even value. That is, rounding 2.5 will be 2.0, and not 3.0.
+ */
static INLINE LLVMValueRef
lp_build_round_sse41(struct lp_build_context *bld,
LLVMValueRef a,
More information about the mesa-commit
mailing list