For 32 flip-flops, the XST tool infers one SRLC32E as expected. XST also infers two SRLC32E for 34, 35....64 flip-flops.
However, 13.4 XST does not infer dynamic shift register when the total number of flip-flops is 33, 65, ... (2^n)+1 for n>=5. Instead, it generates number of FFs and 1-bit MUXs.
XST should possibly have generated two SRLC32E modules for 33, 65,...(2^n)+1 flip-flops for n >= 5 as it had generated for 34, 35 ...64 flip-flops.
To work around this problem, infer these shift registers with the help of manual instantiation within the code.
As an example, for a 33 flip-flop, instantiate one SRLC32E and add an additional register in the code to infer a 33 flip-flop chain using dynamic shift register.
CR 644599 has been filed to address this issue.