It's not exactly secret. Most "big iron" architectures had packed decimal support in the past, and IBM pushed to get decimal floating-point added to IEEE 754-2008.
Well obviously, since they have a web page about it :-) But "secret" in the sense that not all devs seem to be aware of it yet, if anyone is still using classical floats (or even ints) for handling money.
Packed decimal predates the idea of "big iron" even. The original driver was control applications: doing user output on machines with tiny memories that couldn't spare the conversion logic to produce a decimal value. Check the BCD instructions that still exist (albeit in very slow microcoded form, and I think they still work only on the 8 bit registers) on your 8 core Sandy Bridge monster.
Comments
It's not exactly secret. Most "big iron" architectures had packed decimal support in the past, and IBM pushed to get decimal floating-point added to IEEE 754-2008.
Well obviously, since they have a web page about it :-) But "secret" in the sense that not all devs seem to be aware of it yet, if anyone is still using classical floats (or even ints) for handling money.
Packed decimal predates the idea of "big iron" even. The original driver was control applications: doing user output on machines with tiny memories that couldn't spare the conversion logic to produce a decimal value. Check the BCD instructions that still exist (albeit in very slow microcoded form, and I think they still work only on the 8 bit registers) on your 8 core Sandy Bridge monster.