armopts-gnu.S 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. @********************************************************************
  2. @* *
  3. @* THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE. *
  4. @* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
  5. @* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
  6. @* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
  7. @* *
  8. @* THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2010 *
  9. @* by the Xiph.Org Foundation and contributors http://www.xiph.org/ *
  10. @* *
  11. @********************************************************************
  12. @ Original implementation:
  13. @ Copyright (C) 2009 Robin Watts for Pinknoise Productions Ltd
  14. @ last mod: $Id: armopts.s.in 17430 2010-09-22 21:54:09Z tterribe $
  15. @********************************************************************
  16. @ Set the following to 1 if we have EDSP instructions
  17. @ (LDRD/STRD, etc., ARMv5E and later).
  18. .set OC_ARM_ASM_EDSP,
  19. @ Set the following to 1 if we have ARMv6 media instructions.
  20. .set OC_ARM_ASM_MEDIA,
  21. @ Set the following to 1 if we have NEON (some ARMv7)
  22. .set OC_ARM_ASM_NEON,
  23. @ Set the following to 1 if LDR/STR can work on unaligned addresses
  24. @ This is assumed to be true for ARMv6 and later code
  25. .set OC_ARM_CAN_UNALIGN, 0
  26. @ Large unaligned loads and stores are often configured to cause an exception.
  27. @ They cause an 8 cycle stall when they cross a 128-bit (load) or 64-bit (store)
  28. @ boundary, so it's usually a bad idea to use them anyway if they can be
  29. @ avoided.
  30. @ Set the following to 1 if LDRD/STRD can work on unaligned addresses
  31. .set OC_ARM_CAN_UNALIGN_LDRD, 0
  32. @ END