Note that your examples ‘armv6’, ‘armv6j’, ‘armv6k’, ‘armv6kz’, ‘armv6t2’, ‘armv6z’, ‘armv6zk’ are architecture variants, not CPUs. They will go under -march argument.
Due to the processor model you mentioned I think your embedded system is a POS (Point of Sale).
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dht0001a/CHDCDJCJ.html
The corresponding arch for that processor is armv6z. To avoid "locking down" the code to working well only on a single CPU model, you can use the -mtune flag (receives same arguments that -mcpu) that will produce the best code for a specified CPU, while keeping compatibility across all selected arch CPUs.
The CPU type is arm1136j-s (missing f, as I have not seen any POS with ARM11 processor that supports hard-float).
EDIT
I got CPU wrong, according to this mail:
https://lists.linaro.org/pipermail/linaro-dev/2011-September/007156.html
. The CPU type is ARM1136, not ARM1176. So it will be -mcpu=arm1136j-s
Your arguments can be like the following:
- -march=armv6 -mtune=arm1136j-s
- -mcpu=arm1136j-s