From: Julian Seward Date: Tue, 22 Jul 2014 09:26:36 +0000 (+0000) Subject: Comment-only change. X-Git-Tag: svn/VALGRIND_3_10_1^2~63 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=23e79075b0a64b46d574dde61d65d3f681cbacf9;p=thirdparty%2Fvalgrind.git Comment-only change. git-svn-id: svn://svn.valgrind.org/vex/trunk@2908 --- diff --git a/VEX/pub/libvex_ir.h b/VEX/pub/libvex_ir.h index 843ca0939a..8937b5e2b4 100644 --- a/VEX/pub/libvex_ir.h +++ b/VEX/pub/libvex_ir.h @@ -1421,13 +1421,20 @@ typedef Iop_QDMull16Sx4, Iop_QDMull32Sx2, /* Vector Saturating Doubling Multiply Returning High Half and - Vector Saturating Rounding Doubling Multiply Returning High Half */ - /* These IROps multiply corresponding elements in two vectors, double + Vector Saturating Rounding Doubling Multiply Returning High Half. + These IROps multiply corresponding elements in two vectors, double the results, and place the most significant half of the final results - in the destination vector. The results are truncated or rounded. If - any of the results overflow, they are saturated. */ - Iop_QDMulHi16Sx8, Iop_QDMulHi32Sx4, - Iop_QRDMulHi16Sx8, Iop_QRDMulHi32Sx4, + in the destination vector. The results are truncated or rounded. If + any of the results overflow, they are saturated. To be more precise, + for each lane, the computed result is: + QDMulHi: + hi-half( sign-extend(laneL) *q sign-extend(laneR) *q 2 ) + QRDMulHi: + hi-half( sign-extend(laneL) *q sign-extend(laneR) *q 2 + +q (1 << (lane-width-in-bits - 1)) ) + */ + Iop_QDMulHi16Sx8, Iop_QDMulHi32Sx4, /* (V128, V128) -> V128 */ + Iop_QRDMulHi16Sx8, Iop_QRDMulHi32Sx4, /* (V128, V128) -> V128 */ /* Polynomial multiplication treats its arguments as coefficients of polynomials over {0, 1}. */