Check the guide again, bank conflicts can only occur within each half warp. Your example has each thread writing to shared memory bank threadIdx.x (assuming the size of the value is 32 bits), so each will access a different bank. Bank conflicts are the last thing to optimize for anyways: global memory bandwidth matters much more.
As said in prev posts, there are no bank conflicts. Succesive integers of an array are placed in successive banks. And, Bank conflicts is the last thing to worry about when it comes to performance.