]> begriffs open source - cmsis/commit
GCC: remove unneeded asm volatiles
authorKevin Bracey <kevin.bracey@arm.com>
Wed, 9 Jan 2019 12:34:02 +0000 (14:34 +0200)
committerJonatan Antoni <jonatan.antoni@arm.com>
Tue, 30 Jul 2019 14:34:58 +0000 (16:34 +0200)
commit8a2b7bda32970a217e65af722d89d252af2533ec
treef8fa67ab13a2ad1a263932f29eb9f5b42e42ac8f
parent365a9c4d983fc423e16630c1a66ec4b36ddf5425
GCC: remove unneeded asm volatiles

Many assembler intrinsics are pure - they read only the input registers,
write only the output registers, and change no PSR flags.

Remove volatile from all such intrinisics to improve potential
optimisation.

   REV, REV16, REVSH, RBIT
   QADD8, SHADD8, UQADD8, UHADD8
   QSUB8, SHSUB8, UQSUB8, UHSUB8
   QADD16, SHADD16, UQADD16, UHADD16
   QSUB16, SHSUB16, UQSUB16, UHSUB16
   QASX, SHASX, UQASX, UHASX
   QSAX, SHSAX, UQSAX, UHSAX
   USAD8, USADA8
   UXTB16, UXTAB16, SXTB16, SXTAB16
   SMMLA

Change-Id: Id7e245e621dfc78b027db89f073102cf99d92174
CMSIS/Core/Include/cmsis_gcc.h
CMSIS/Core_A/Include/cmsis_gcc.h