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 | 259 | pmullw xmm7, xmm6 |
| 260 | 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 | 269 | SUMW_HORIZON xmm7,xmm0,xmm2 |
| 263 | 270 | movd r2d, xmm7 ; V |
| 264 | 271 | movsx r2, r2w |