http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49547
Summary: LZCNT should be enabled only if ABM or LZCNT bits are set Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: kirill.yuk...@intel.com Hi, according to freshest Specs, we need to enable LZCNT only when ABM or LZCNT bits of CPUID (leaf 8000_0001h) is set. However config/i386/i386.md has: (define_insn "clz<mode>2_abm" [(set (match_operand:SWI248 0 "register_operand" "=r") (clz:SWI248 (match_operand:SWI248 1 "nonimmediate_operand" "rm"))) (clobber (reg:CC FLAGS_REG))] "TARGET_ABM || TARGET_BMI" "lzcnt{<imodesuffix>}\t{%1, %0|%0, %1}" [(set_attr "prefix_rep" "1") (set_attr "type" "bitmanip") (set_attr "mode" "<MODE>")]) There is no connection to BMI anymore.