Does GCC need a special switch for ADCX/ADOX?

Jeffrey Walton noloader@gmail.com
Mon Aug 21 10:14:00 GMT 2017


I'm working on a 6th gen Core i5 (Skylake). It has ADX cpu features,
and I compile with -march=native.

I'm having a heck of a time getting GCC to generate the instruction,
even when using the _addcarryx_u64 instrinsic. I've tried with both
GCC 6.4 (Fedora 25) and GCC 7.1 (Fedora 26).

Testing under ICC shows ICC happily generates the adcx or adox. In
fact, it looks like 2-3 adcx or adox take the place of one
add/addc/setc sequence.

Does anyone know how to get GCC to generate the adcx or adox instructions?

Thanks in advance.



More information about the Gcc-help mailing list