If you are using VHDL, you dont have a lot of choice
after all what you will write is
out=in1+in2
Now, the difference comes to play when you synthesize it, and the result depends on
1. Synthesis library that you have
2. Synthesizer that you have
3. The constraint the you pose to synthesizer to do the job
If you are trying to design IEEE 64 bit adder (like in ALU) kind a stuf, you should do it full-custom
your can design it at gate level. i.e. use the "or" logic\"xor"logic\"and" logic. I completed one 64-bits signed adder last month using the verilog. I think it's easy to transfer it into VHDL code if you like to.
ps you can not find the existing one on the internet. so read the article carefully and depend on yourself.