# \[VOLK\] volk\_profile failures

**URL:** <https://www.ruby-forum.com/t/volk-volk-profile-failures/242230>\
**Category:** GNU Radio\
**Created:** [June 5, 2015, 11:44pm UTC](https://www.ruby-forum.com/t/volk-volk-profile-failures/242230 "2015-06-05T23:44:20Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Detlef\_R](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@Detlef\_R](https://www.ruby-forum.com/u/Detlef_R)\
**Post date:** [June 5, 2015, 11:44pm UTC](https://www.ruby-forum.com/t/volk-volk-profile-failures/242230/1 "2015-06-05T23:44:20Z")

</div>

I compiled GNU Radio 3.7.7.1 natively on an ODROID XU3-Lite with Ubuntu  
14.04.2 LTS. I ran volk\_profile and got a lot of failures for various  
embedded architectures. Any ideas what could be happening? Could it be  
something with the compile flags I chose?

volk\_16ic\_s32f\_deinterleave\_32f\_x2: fail on arch neon  
volk\_16ic\_s32f\_deinterleave\_32f\_x2: fail on arch neon  
volk\_16ic\_s32f\_deinterleave\_32f\_x2: fail on arch u\_orc  
volk\_16ic\_s32f\_deinterleave\_32f\_x2: fail on arch u\_orc  
volk\_32fc\_s32f\_magnitude\_16i: fail on arch u\_orc  
volk\_32fc\_x2\_multiply\_32fc: fail on arch a\_generic  
volk\_32fc\_x2\_multiply\_32fc: fail on arch a\_generic  
volk\_32fc\_x2\_multiply\_32fc: fail on arch a\_generic  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neon  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neon  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neon  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neon\_opttests  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neon\_opttests  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neon\_opttests  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neonasm  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neonasm  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neonasm  
volk\_32fc\_x2\_multiply\_32fc: fail on arch u\_orc  
volk\_32fc\_x2\_multiply\_32fc: fail on arch u\_orc  
volk\_32fc\_x2\_multiply\_32fc: fail on arch u\_orc  
volk\_32f\_sqrt\_32f: fail on arch neon  
volk\_32f\_x3\_sum\_of\_poly\_32f: fail on arch a\_neon  
volk\_32f\_x3\_sum\_of\_poly\_32f: fail on arch neonvert  
volk\_32fc\_s32fc\_multiply\_32fc: fail on arch neon

The full output of volk\_profile is here:  
[https://gist.github.com/nowls/37c78d89342053bae0ea](https://gist.github.com/nowls/37c78d89342053bae0ea)

> <https://gist.github.com/nowls/37c78d89342053bae0ea>

Resulting volk\_config:

> <https://gist.github.com/nowls/5894fbce1b29325b8f58>

Some relevant configuration info taken from CMakeCache.txt (gcc/g++  
version and C/CXX/ASM flags):

CMAKE\_CXX\_COMPILER:FILEPATH=/usr/bin/g+±4.9  
CMAKE\_CXX\_COMPILER\_WITH\_PATH:FILEPATH=/usr/bin/g+±4.9  
CMAKE\_CXX\_FLAGS:STRING=-mcpu=cortex-a15.cortex-a7  
-mtune=cortex-a15.cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard  
-funsafe-math-optimizations  
CMAKE\_CXX\_FLAGS\_DEBUG:STRING=-g  
CMAKE\_CXX\_FLAGS\_DEBUGPARANOID:STRING=-Wall -Wextra -g -O0  
CMAKE\_CXX\_FLAGS\_MINSIZEREL:STRING=-Os -DNDEBUG  
CMAKE\_CXX\_FLAGS\_NOOPTWITHASM:STRING=-Wall -save-temps -g -O0  
CMAKE\_CXX\_FLAGS\_O2WITHASM:STRING=-Wall -save-temps -g -O2  
CMAKE\_CXX\_FLAGS\_O3WITHASM:STRING=-Wall -save-temps -g -O3  
CMAKE\_CXX\_FLAGS\_RELEASE:STRING=-O3 -DNDEBUG  
CMAKE\_CXX\_FLAGS\_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG  
CMAKE\_C\_COMPILER:FILEPATH=/usr/bin/gcc-4.9  
CMAKE\_C\_COMPILER\_WITH\_PATH:FILEPATH=/usr/bin/gcc-4.9  
CMAKE\_C\_FLAGS:STRING=-mcpu=cortex-a15.cortex-a7  
-mtune=cortex-a15.cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard  
-funsafe-math-optimizations  
CMAKE\_C\_FLAGS\_DEBUG:STRING=-g  
CMAKE\_C\_FLAGS\_DEBUGPARANOID:STRING=-Wall -Wextra -g -O0  
CMAKE\_C\_FLAGS\_MINSIZEREL:STRING=-Os -DNDEBUG  
CMAKE\_C\_FLAGS\_NOOPTWITHASM:STRING=-Wall -save-temps -g -O0  
CMAKE\_C\_FLAGS\_O2WITHASM:STRING=-Wall -save-temps -g -O2  
CMAKE\_C\_FLAGS\_O3WITHASM:STRING=-Wall -save-temps -g -O3  
CMAKE\_C\_FLAGS\_RELEASE:STRING=-O3 -DNDEBUG  
CMAKE\_C\_FLAGS\_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG  
CMAKE\_ASM\_FLAGS:STRING=-mcpu=cortex-a15.cortex-a7  
-mtune=cortex-a15.cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard  
-funsafe-math-optimizations  
CMAKE\_ASM\_FLAGS\_DEBUG:STRING=-g  
CMAKE\_ASM\_FLAGS\_MINSIZEREL:STRING=-Os -DNDEBUG  
CMAKE\_ASM\_FLAGS\_RELEASE:STRING=-O3 -DNDEBUG  
CMAKE\_ASM\_FLAGS\_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG

Sean Nowlan

---

<div class="post-metadata">

**Author:** ![NowlanS\_Sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/f05b48/32.png) [@NowlanS\_Sean](https://www.ruby-forum.com/u/NowlanS_Sean)\
**Post date:** [June 6, 2015, 12:49am UTC](https://www.ruby-forum.com/t/volk-volk-profile-failures/242230/2 "2015-06-06T00:49:46Z")

</div>

Hi Sean,

I didn’t read all of the debug info, but your symptoms are a result of  
ORC doing bad things.

You can either uninstall ORC or upgrade to the latest release (0.4.23).  
The  
commit you really need is this one:  
[http://cgit.freedesktop.org/gstreamer/orc/commit/?id=acdaac31c648fd10f1bd0a49c4c33b483bb9c35c](http://cgit.freedesktop.org/gstreamer/orc/commit/?id=acdaac31c648fd10f1bd0a49c4c33b483bb9c35c)

If you choose to upgrade ORC let me know how it goes.

Cheers,  
Nathan

---

<div class="post-metadata">

**Author:** ![NowlanS\_Sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/f05b48/32.png) [@NowlanS\_Sean](https://www.ruby-forum.com/u/NowlanS_Sean)\
**Post date:** [June 6, 2015, 6:48pm UTC](https://www.ruby-forum.com/t/volk-volk-profile-failures/242230/3 "2015-06-06T18:48:08Z")

</div>

​Ok, I will install ORC 0.4.23 from source. Is ORC involved with all the  
other architectures that had failures?

Sean

* * *

From: West, Nathan [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Sent: Friday, June 5, 2015 6:48 PM  
To: Nowlan, Sean  
Cc: removed\_email\_address@domain.invalid  
Subject: Re: [Discuss-gnuradio] [VOLK] volk\_profile failures

Hi Sean,

I didn’t read all of the debug info, but your symptoms are a result of  
ORC doing bad things.

You can either uninstall ORC or upgrade to the latest release (0.4.23).  
The commit you really need is this one:  
[http://cgit.freedesktop.org/gstreamer/orc/commit/?id=acdaac31c648fd10f1bd0a49c4c33b483bb9c35c](http://cgit.freedesktop.org/gstreamer/orc/commit/?id=acdaac31c648fd10f1bd0a49c4c33b483bb9c35c)

If you choose to upgrade ORC let me know how it goes.

Cheers,  
Nathan

On Friday, June 5, 2015, Nowlan, Sean  
\<removed\_email\_address@domain.invalid[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:

I compiled GNU Radio 3.7.7.1 natively on an ODROID XU3-Lite with Ubuntu  
14.04.2 LTS. I ran volk\_profile and got a lot of failures for various  
embedded architectures. Any ideas what could be happening? Could it be  
something with the compile flags I chose?

volk\_16ic\_s32f\_deinterleave\_32f\_x2: fail on arch neon  
volk\_16ic\_s32f\_deinterleave\_32f\_x2: fail on arch neon  
volk\_16ic\_s32f\_deinterleave\_32f\_x2: fail on arch u\_orc  
volk\_16ic\_s32f\_deinterleave\_32f\_x2: fail on arch u\_orc  
volk\_32fc\_s32f\_magnitude\_16i: fail on arch u\_orc  
volk\_32fc\_x2\_multiply\_32fc: fail on arch a\_generic  
volk\_32fc\_x2\_multiply\_32fc: fail on arch a\_generic  
volk\_32fc\_x2\_multiply\_32fc: fail on arch a\_generic  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neon  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neon  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neon  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neon\_opttests  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neon\_opttests  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neon\_opttests  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neonasm  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neonasm  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neonasm  
volk\_32fc\_x2\_multiply\_32fc: fail on arch u\_orc  
volk\_32fc\_x2\_multiply\_32fc: fail on arch u\_orc  
volk\_32fc\_x2\_multiply\_32fc: fail on arch u\_orc  
volk\_32f\_sqrt\_32f: fail on arch neon  
volk\_32f\_x3\_sum\_of\_poly\_32f: fail on arch a\_neon  
volk\_32f\_x3\_sum\_of\_poly\_32f: fail on arch neonvert  
volk\_32fc\_s32fc\_multiply\_32fc: fail on arch neon

The full output of volk\_profile is here:  
[https://gist.github.com/nowls/37c78d89342053bae0ea](https://gist.github.com/nowls/37c78d89342053bae0ea)

> <https://gist.github.com/nowls/37c78d89342053bae0ea>

Resulting volk\_config:

> <https://gist.github.com/nowls/5894fbce1b29325b8f58>

Some relevant configuration info taken from CMakeCache.txt (gcc/g++  
version and C/CXX/ASM flags):

CMAKE\_CXX\_COMPILER:FILEPATH=/usr/bin/g+±4.9  
CMAKE\_CXX\_COMPILER\_WITH\_PATH:FILEPATH=/usr/bin/g+±4.9  
CMAKE\_CXX\_FLAGS:STRING=-mcpu=cortex-a15.cortex-a7  
-mtune=cortex-a15.cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard  
-funsafe-math-optimizations  
CMAKE\_CXX\_FLAGS\_DEBUG:STRING=-g  
CMAKE\_CXX\_FLAGS\_DEBUGPARANOID:STRING=-Wall -Wextra -g -O0  
CMAKE\_CXX\_FLAGS\_MINSIZEREL:STRING=-Os -DNDEBUG  
CMAKE\_CXX\_FLAGS\_NOOPTWITHASM:STRING=-Wall -save-temps -g -O0  
CMAKE\_CXX\_FLAGS\_O2WITHASM:STRING=-Wall -save-temps -g -O2  
CMAKE\_CXX\_FLAGS\_O3WITHASM:STRING=-Wall -save-temps -g -O3  
CMAKE\_CXX\_FLAGS\_RELEASE:STRING=-O3 -DNDEBUG  
CMAKE\_CXX\_FLAGS\_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG  
CMAKE\_C\_COMPILER:FILEPATH=/usr/bin/gcc-4.9  
CMAKE\_C\_COMPILER\_WITH\_PATH:FILEPATH=/usr/bin/gcc-4.9  
CMAKE\_C\_FLAGS:STRING=-mcpu=cortex-a15.cortex-a7  
-mtune=cortex-a15.cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard  
-funsafe-math-optimizations  
CMAKE\_C\_FLAGS\_DEBUG:STRING=-g  
CMAKE\_C\_FLAGS\_DEBUGPARANOID:STRING=-Wall -Wextra -g -O0  
CMAKE\_C\_FLAGS\_MINSIZEREL:STRING=-Os -DNDEBUG  
CMAKE\_C\_FLAGS\_NOOPTWITHASM:STRING=-Wall -save-temps -g -O0  
CMAKE\_C\_FLAGS\_O2WITHASM:STRING=-Wall -save-temps -g -O2  
CMAKE\_C\_FLAGS\_O3WITHASM:STRING=-Wall -save-temps -g -O3  
CMAKE\_C\_FLAGS\_RELEASE:STRING=-O3 -DNDEBUG  
CMAKE\_C\_FLAGS\_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG  
CMAKE\_ASM\_FLAGS:STRING=-mcpu=cortex-a15.cortex-a7  
-mtune=cortex-a15.cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard  
-funsafe-math-optimizations  
CMAKE\_ASM\_FLAGS\_DEBUG:STRING=-g  
CMAKE\_ASM\_FLAGS\_MINSIZEREL:STRING=-Os -DNDEBUG  
CMAKE\_ASM\_FLAGS\_RELEASE:STRING=-O3 -DNDEBUG  
CMAKE\_ASM\_FLAGS\_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG

Sean Nowlan

---

<div class="post-metadata">

**Author:** ![NowlanS\_Sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/f05b48/32.png) [@NowlanS\_Sean](https://www.ruby-forum.com/u/NowlanS_Sean)\
**Post date:** [June 6, 2015, 6:58pm UTC](https://www.ruby-forum.com/t/volk-volk-profile-failures/242230/4 "2015-06-06T18:58:39Z")

</div>

Most likely.

What we’ve seen before is that ORC didn’t preserve registers according  
to  
ARM specifications. This basically results in unpredictable data  
corruption. The commit I pointed to is the fix (vpush certain registers  
if  
used, then vpop after the routine).

The visible corruption is seen by corrupting the test tolerance. If you  
look at ctest -V you should see that the "error"s are actually the same  
result, but since tolerance gets corrupted the test erroneously is  
false.  
The only QA failures should be on kernels that have an ORC protokernel,  
but  
this bug can affect non-ORC protokernels for that kernel.

Nathan

On Sat, Jun 6, 2015 at 12:47 PM, Nowlan, Sean  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![NowlanS\_Sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/f05b48/32.png) [@NowlanS\_Sean](https://www.ruby-forum.com/u/NowlanS_Sean)\
**Post date:** [June 7, 2015, 6:20pm UTC](https://www.ruby-forum.com/t/volk-volk-profile-failures/242230/5 "2015-06-07T18:20:57Z")

</div>

On Sat, Jun 6, 2015 at 4:51 PM, Nowlan, Sean  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> CPPFLAGS=“-mcpu=cortex-a15.cortex-a7 -mtune=cortex-a15.cortex-a7  
> -mfpu=neon-vfpv4 -mfloat-abi=hard -funsafe-math-optimizations”
> 
> UHD built fine w/ ORC 0.4.23.
> 
> Sean

Just disable ORC Altogether in VOLK. Most of the kernels have  
replacement  
NEON proto-kernels now, anyways. Pass -DENABLE\_ORC=False to cmake.

Tom

---

<div class="post-metadata">

**Author:** ![NowlanS\_Sean](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/f05b48/32.png) [@NowlanS\_Sean](https://www.ruby-forum.com/u/NowlanS_Sean)\
**Post date:** [June 6, 2015, 10:52pm UTC](https://www.ruby-forum.com/t/volk-volk-profile-failures/242230/6 "2015-06-06T22:52:54Z")

</div>

That makes sense. I installed ORC 0.4.23 and tried to recompile GR, but  
the build is failing on Volk. GCC segfaults a couple times before  
failing with an error on volk\_16ic\_magnitude\_16i\_a\_orc\_impl. Full output  
here:

> <https://gist.github.com/nowls/2f6ddf5734e152ca21a7>

ORC 0.4.23 was built with:

CFLAGS=“-mcpu=cortex-a15.cortex-a7 -mtune=cortex-a15.cortex-a7  
-mfpu=neon-vfpv4 -mfloat-abi=hard -funsafe-math-optimizations”

CPPFLAGS=“-mcpu=cortex-a15.cortex-a7 -mtune=cortex-a15.cortex-a7  
-mfpu=neon-vfpv4 -mfloat-abi=hard -funsafe-math-optimizations”

UHD built fine w/ ORC 0.4.23.

Sean

* * *

From: West, Nathan [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Sent: Saturday, June 6, 2015 12:57 PM  
To: Nowlan, Sean  
Cc: removed\_email\_address@domain.invalid  
Subject: Re: [Discuss-gnuradio] [VOLK] volk\_profile failures

Most likely.

What we’ve seen before is that ORC didn’t preserve registers according  
to ARM specifications. This basically results in unpredictable data  
corruption. The commit I pointed to is the fix (vpush certain registers  
if used, then vpop after the routine).

The visible corruption is seen by corrupting the test tolerance. If you  
look at ctest -V you should see that the "error"s are actually the same  
result, but since tolerance gets corrupted the test erroneously is  
false. The only QA failures should be on kernels that have an ORC  
protokernel, but this bug can affect non-ORC protokernels for that  
kernel.

Nathan

On Sat, Jun 6, 2015 at 12:47 PM, Nowlan, Sean  
\<removed\_email\_address@domain.invalid[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:

​Ok, I will install ORC 0.4.23 from source. Is ORC involved with all the  
other architectures that had failures?

Sean

* * *

From: West, Nathan  
\<removed\_email\_address@domain.invalid[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\>  
Sent: Friday, June 5, 2015 6:48 PM  
To: Nowlan, Sean  
Cc: removed\_email\_address@domain.invalid[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Subject: Re: [Discuss-gnuradio] [VOLK] volk\_profile failures

Hi Sean,

I didn’t read all of the debug info, but your symptoms are a result of  
ORC doing bad things.

You can either uninstall ORC or upgrade to the latest release (0.4.23).  
The commit you really need is this one:  
[http://cgit.freedesktop.org/gstreamer/orc/commit/?id=acdaac31c648fd10f1bd0a49c4c33b483bb9c35c](http://cgit.freedesktop.org/gstreamer/orc/commit/?id=acdaac31c648fd10f1bd0a49c4c33b483bb9c35c)

If you choose to upgrade ORC let me know how it goes.

Cheers,  
Nathan

On Friday, June 5, 2015, Nowlan, Sean  
\<removed\_email\_address@domain.invalid[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:

I compiled GNU Radio 3.7.7.1 natively on an ODROID XU3-Lite with Ubuntu  
14.04.2 LTS. I ran volk\_profile and got a lot of failures for various  
embedded architectures. Any ideas what could be happening? Could it be  
something with the compile flags I chose?

volk\_16ic\_s32f\_deinterleave\_32f\_x2: fail on arch neon  
volk\_16ic\_s32f\_deinterleave\_32f\_x2: fail on arch neon  
volk\_16ic\_s32f\_deinterleave\_32f\_x2: fail on arch u\_orc  
volk\_16ic\_s32f\_deinterleave\_32f\_x2: fail on arch u\_orc  
volk\_32fc\_s32f\_magnitude\_16i: fail on arch u\_orc  
volk\_32fc\_x2\_multiply\_32fc: fail on arch a\_generic  
volk\_32fc\_x2\_multiply\_32fc: fail on arch a\_generic  
volk\_32fc\_x2\_multiply\_32fc: fail on arch a\_generic  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neon  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neon  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neon  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neon\_opttests  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neon\_opttests  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neon\_opttests  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neonasm  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neonasm  
volk\_32fc\_x2\_multiply\_32fc: fail on arch neonasm  
volk\_32fc\_x2\_multiply\_32fc: fail on arch u\_orc  
volk\_32fc\_x2\_multiply\_32fc: fail on arch u\_orc  
volk\_32fc\_x2\_multiply\_32fc: fail on arch u\_orc  
volk\_32f\_sqrt\_32f: fail on arch neon  
volk\_32f\_x3\_sum\_of\_poly\_32f: fail on arch a\_neon  
volk\_32f\_x3\_sum\_of\_poly\_32f: fail on arch neonvert  
volk\_32fc\_s32fc\_multiply\_32fc: fail on arch neon

The full output of volk\_profile is here:  
[https://gist.github.com/nowls/37c78d89342053bae0ea](https://gist.github.com/nowls/37c78d89342053bae0ea)

> <https://gist.github.com/nowls/37c78d89342053bae0ea>

Resulting volk\_config:

> <https://gist.github.com/nowls/5894fbce1b29325b8f58>

Some relevant configuration info taken from CMakeCache.txt (gcc/g++  
version and C/CXX/ASM flags):

CMAKE\_CXX\_COMPILER:FILEPATH=/usr/bin/g+±4.9  
CMAKE\_CXX\_COMPILER\_WITH\_PATH:FILEPATH=/usr/bin/g+±4.9  
CMAKE\_CXX\_FLAGS:STRING=-mcpu=cortex-a15.cortex-a7  
-mtune=cortex-a15.cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard  
-funsafe-math-optimizations  
CMAKE\_CXX\_FLAGS\_DEBUG:STRING=-g  
CMAKE\_CXX\_FLAGS\_DEBUGPARANOID:STRING=-Wall -Wextra -g -O0  
CMAKE\_CXX\_FLAGS\_MINSIZEREL:STRING=-Os -DNDEBUG  
CMAKE\_CXX\_FLAGS\_NOOPTWITHASM:STRING=-Wall -save-temps -g -O0  
CMAKE\_CXX\_FLAGS\_O2WITHASM:STRING=-Wall -save-temps -g -O2  
CMAKE\_CXX\_FLAGS\_O3WITHASM:STRING=-Wall -save-temps -g -O3  
CMAKE\_CXX\_FLAGS\_RELEASE:STRING=-O3 -DNDEBUG  
CMAKE\_CXX\_FLAGS\_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG  
CMAKE\_C\_COMPILER:FILEPATH=/usr/bin/gcc-4.9  
CMAKE\_C\_COMPILER\_WITH\_PATH:FILEPATH=/usr/bin/gcc-4.9  
CMAKE\_C\_FLAGS:STRING=-mcpu=cortex-a15.cortex-a7  
-mtune=cortex-a15.cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard  
-funsafe-math-optimizations  
CMAKE\_C\_FLAGS\_DEBUG:STRING=-g  
CMAKE\_C\_FLAGS\_DEBUGPARANOID:STRING=-Wall -Wextra -g -O0  
CMAKE\_C\_FLAGS\_MINSIZEREL:STRING=-Os -DNDEBUG  
CMAKE\_C\_FLAGS\_NOOPTWITHASM:STRING=-Wall -save-temps -g -O0  
CMAKE\_C\_FLAGS\_O2WITHASM:STRING=-Wall -save-temps -g -O2  
CMAKE\_C\_FLAGS\_O3WITHASM:STRING=-Wall -save-temps -g -O3  
CMAKE\_C\_FLAGS\_RELEASE:STRING=-O3 -DNDEBUG  
CMAKE\_C\_FLAGS\_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG  
CMAKE\_ASM\_FLAGS:STRING=-mcpu=cortex-a15.cortex-a7  
-mtune=cortex-a15.cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard  
-funsafe-math-optimizations  
CMAKE\_ASM\_FLAGS\_DEBUG:STRING=-g  
CMAKE\_ASM\_FLAGS\_MINSIZEREL:STRING=-Os -DNDEBUG  
CMAKE\_ASM\_FLAGS\_RELEASE:STRING=-O3 -DNDEBUG  
CMAKE\_ASM\_FLAGS\_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG

Sean Nowlan
