SSE-2 use 2X32 bit setting to archive.
SSE2 adds capability to 2x 64-bit FP data. SSE had the ability to do 4x 32-bit FP or Integer data.
SSE or SSE-2 use usual instruction but have multiple data.They put to data number back to back that create a 64 bit data also you need to activate this feature when the code get assemblage.
SSE2 packs 2x 64-bit FP data into a 128-bit Vector and skews the execution using the exact same FPU as if they were individual data being operated on by individual instructions. The only difference is that with a 128-bit SSE2 Vector, you only need to decode, schedule and execute one instruction.
Double precision the name say it well.If there were really a 64 bit data that will be call extendent precision.
Double-precision is 64-bit FP data (a double in c++). Extended precision is 80-bit FP data (which is possible but slow since the FPU are 64-bits wide, you'd need to skew the data and processing). The x87/MMX registers are 80-bits wide.
The bitnees is set by the ISA wich all IA-64 are all 64 bit IA-32 are all 32 bit
x86 use to be a 16-bit ISA, then there came the 32-bit ISA with no extensions needed to add 32-bit, merely switching the processor to protected mode. The original x86 ISA provided use of 32-bit Integers, however, the data would be broken up internally and skewedly processed (very slow). So no, it's not determined by the ISA. The exact defining "bitness" of a microprocessor is the size of its General Purpose Registers. A simple search on google would tell you as much.
"We are Microsoft, resistance is futile." - Bill Gates, 2015.