0

I am having some trouble understanding my current situation due to the fact that I spend most of my time coding x86 software.

Apple have released a new requirement that apps must support 64 bit architecture from february 2015. From what I understand I can make a 'fat' binary with 32 bit and 64 bit code inside it.

The part that I am confused about is the fact that my project uses OpenMP and inline neon assembler code (hand tuned math libraries), this compiles fine on 32 bit ARM and runs perfectly.

I need some advice on how to get my project ready for Apples new requirement.

  1. How can I enable OpenMP for GCC 4.9.2? There is not even a omp.h in the folder

  2. Is the neon instruction set supported?

  3. My SDK (Marmalade) says it supports armv8-a and simd, what does that say in terms of supporting neon?

  4. How much of my inline arm assembly do I need to edit? I have LOTS of it and I am kind of panicking right now.

I hope someone can help me.

Links: https://gcc.gnu.org/gcc-4.9/changes.html http://docs.madewithmarmalade.com/display/MD750/Release+Notes#ReleaseNotes-7.5BetaReleaseNotes

Kachinsky
  • 573
  • 1
  • 7
  • 20
  • 1
    I don't know anything about marmalade, but regular upstream gcc-4.9 does have omp.h (use -fopenmp to enable) and supports neon (aarch64 basically implies neon). How much your asm needs editing depends a lot on what it looks like. Couldn't you have used intrinsics instead? – Marc Glisse Jan 18 '15 at 13:19
  • Actually I am using FFT code (FFTS on github) which has inline assembly as well as .s files full of assembly. Another library I use also uses omp.h and I am not sure how to go about finding that header since I kindof do need the omp functions like the one that gets available threads etc. – Kachinsky Jan 18 '15 at 16:51
  • I suggest you ask this on the Marmalade forum. – johnfo Jan 20 '15 at 03:10

0 Answers0