Vector Add Scalar Single Precision

91 Views Asked by At

I was reading Avx Scalar Floating-Point Instructions and in them, I faced some doubt. Consider this instruction.

enter image description here

See that we are adding the lower 32 bits of xmm1 and xmm2 registers and storing them in the xmm0 register. Now I have a doubt here. Say all the lower 31 bits is 0 and the MSB(of the lower 32 bits) is 1 in both the registers. Like 1000..00 for xmm1 as well as 1000..00 for xmm2 for 32 bits. Now if we add them the value of the from xmm0[31:0] becomes all zero but xmm0[32] bit becomes 1. But here in the addition, we are not storing that 1, we are just replacing the xmm0[127:32] with xmm1[127:32]. Isn't it wrong?

Moreover when we are adding bits in parallel how is carry propagated? Do we use carry look ahead adder in these cases?

0

There are 0 best solutions below