This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Intrinsics for ADCX, ADOX, RDSEED and PREFETCHW


On Thu, Jul 19, 2012 at 11:03:25AM +0200, Uros Bizjak wrote:
> +      /* Set CF to specified value.  */
> +      emit_insn (gen_addqi3_cc(
> +		  gen_reg_rtx(QImode),
> +		  op1,
> +		  constm1_rtx));
> +
> 
> This should be in the *.md expander.

Note also that the formatting of the above was wrong for multiple reasons.

>  (define_insn "*prefetch_3dnow_<mode>"
>    [(prefetch (match_operand:P 0 "address_operand" "p")
> -	     (match_operand:SI 1 "const_int_operand" "n")
> +	     (const_int 0)
>  	     (const_int 3))]
>    "TARGET_3DNOW"
> -{
> -  if (INTVAL (operands[1]) == 0)
> -    return "prefetch\t%a0";
> -  else
> -    return "prefetchw\t%a0";
> -}
> +  "prefetch\t%a0"
> 
> You have a mnemonic clash here. prefetchw is not good name for a new
> instruction, it clashes with existing 3dnow name. Intel will need to
> fix the spec, you probably won't be able to change prefetchw encoding
> in binutils.

>From what I understand, Intel is using the same encoding of that insn as
3dNOW!, so there is no clash, just the same insn is now enabled by two ISAs
(3dNOW! and this new CPUID prfchw bit).

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]