By default, qcc provides only ARMv4 instructions. This ensures that all compiled code will run on any supported ARM processor.
The ARMv6 processor introduces a number of new instructions that may provide performance benefits for certain code. For example, DSP algorithms can take advantage of the new media instructions.
This requires the correct gcc and binutils versions that implement ARMv6 migration:
There are a number of ways you can optimize ARMv6 operations:
If you're using the QNX recursive Makefile structure:
CCFLAGS += -march=armv6
CCFLAGS_<name>_arm = -march=armv6 CCFLAGS += $(CCFLAGS_$(basename $@)_$(CPU))