ARMv8, GCC 4.9 and necessary code optimized away?

Florian Weimer fweimer@redhat.com
Mon May 30 14:07:00 GMT 2016


On 05/30/2016 06:00 AM, Jeffrey Walton wrote:

>     longjmp(s_jmpNoCRC32, 1);

You should use siglongjmp and sigsetjmp.

>         uint32_t w=0, x=0; uint16_t y=0; uint8_t z=0;
>         w = __crc32cw(w,x);
>         w = __crc32ch(w,y);
>         w = __crc32cb(w,z);

The final w value is never used.  You need to make volatile, or 
otherwise ensure that the computation does not happen at compile time.

Florian



More information about the Gcc-help mailing list