I know what that means but in terms of performance what do I win changing signed by unsigned? I don't understand.
For example in address calculations, when you use 'int' (32 bits) as an index in a 64-bit (array) address. By default the index needs to be sign-extended to 64 bits (movsxd) so it can be added to the address base. This is normally a little slower than zero-extending, or not extending at all. The compiler will try to minimize the use of movsxd, but depending on the code it may not always be possible. The only reason I mentioned this is because we are talking about images. Even a small picture like 100x100 pixels means 10000 pixels to process, so small things may matter. At least in the past sign-extending vs zero-extending mattered, but modern processors are smarter so maybe less so today. Only way to know fore sure is to measure it.
The only 128 bits instruction I use is when computing the histogram for setting a table to 0.
OK.