GCM Create M tables and R I am trying to optimize GCM multiplication. This PDF explains GCM:
The  Galois/Counter  Mode  of  Operation  (GCM)  
The algorithms are in section 4.1

In algorithm 3 I have to multiply table M [128] with the element P that represents the
polynomial α.
Formulas (3) and (4) appear on page 9. From what I can understand, this would be:

**if V127 =0 then V ← rightshift(V )

else
V ← rightshift(V ) ⊕ R**
The polynomial f would be 0xe1, no?
But in algorithm 3 I do not understand this: M[i] ← M[2i] · P. What would be the value of the element P if it corresponds to the polynomial α?
Hopefully, someone knows some code of the implementation of the tables that I can read. I have not found any code that can help me understand all of this.
The polynomial f would be 0xe1, no?

it is $e1 \mathbin \|0^{120}$ i.e. 0xe1000000000000000000000000000000

What would be the value of the element P, if it corresponds to the polynomial α?

it is 2 reversed i.e. 0x40000000000000000000000000000000