"Pinski, Andrew" <andrew.pin...@caviumnetworks.com> writes:
> +;; The POP instruction is special as it does not take into account the upper
> +;; 32bits and is documented that way.
> +(define_insn "*popcountdi2_trunc"
> +  [(set (match_operand:SI 0 "register_operand" "=d")
> +       (popcount:SI (truncate:SI (match_operand:DI 1 "register_operand" 
> "d"))))]
> +  "ISA_HAS_POP"
> +  "pop\t%0,%1"
> +  [(set_attr "type" "pop")
> +   (set_attr "mode" "SI")])

Just crossing the "i"s really, but we'd better check TARGET_64BIT too.
I realise we wouldn't expect to see truncate otherwise, but the pattern
wouldn't be correct for 32-bit big-endian.

OK with that change, thanks.

Richard

Reply via email to