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.