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: [email protected]
ReportedBy: [email protected]
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.