valgrind thinks xmm2 is uninitialized - in fact it is, but its value here doesn't really matter. Instead set it to a known value before using it in SUMW_HORIZON.
Showing the changes to codec/decoder (1 of 1 file). Show all
Unified · Split
| @@ -259,6 +259,13 @@ WELS_EXTERN WelsDecoderI16x16LumaPredPlane_sse2 · 258 unmodified lines | |||
| 259 | pmullw xmm7, xmm6 | 259 | pmullw xmm7, xmm6 |
| 260 | psubw xmm7, xmm0 | 260 | psubw xmm7, xmm0 |
| 261 | 261 | ||
| 262 | ; Indicate that xmm2 is fully initialized. Its actual value doesn't | ||
| 263 | ; matter in SUMW_HORIZON below, but after being used in LOAD_COLUMN above, | ||
| 264 | ; valgrind thinks that xmm2 contains uninitalized data (if the columns outside | ||
| 265 | ; of the left are uninitialized, such as in DecUT_IntraPrediction), which taints | ||
| 266 | ; r2d below, even if actually isn't based on the uninitialized data. | ||
| 267 | pxor xmm2, xmm2 | ||
| 268 | |||
| 262 | SUMW_HORIZON xmm7,xmm0,xmm2 | 269 | SUMW_HORIZON xmm7,xmm0,xmm2 |
| 263 | movd r2d, xmm7 ; V | 270 | movd r2d, xmm7 ; V |
| 264 | movsx r2, r2w | 271 | movsx r2, r2w |