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