On Wed, May 04, 2011 at 12:02:17PM +0200, Uros Bizjak wrote:
> Tested on x86_64-pc-linux-gnu, committed to mainline SVN. I will audit
> movq usage in other release branches as well.

s/reqire/require/g

> --- config/i386/i386.md       (revision 173353)
> +++ config/i386/i386.md       (working copy)
> @@ -2001,11 +2001,13 @@
>      case TYPE_SSEMOV:
>        if (get_attr_mode (insn) == MODE_TI)
>       return "%vmovdqa\t{%1, %0|%0, %1}";
> +      /* Handle broken assemblers that reqire movd instead of movq.  */
> +      if (GENERAL_REG_P (operands[0]) || GENERAL_REG_P (operands[1]))
> +     return "%vmovd\t{%1, %0|%0, %1}";
>        return "%vmovq\t{%1, %0|%0, %1}";
>  
>      case TYPE_MMXMOV:
> -      /* Moves from and into integer register is done using movd
> -      opcode with REX prefix.  */
> +      /* Handle broken assemblers that reqire movd instead of movq.  */
>        if (GENERAL_REG_P (operands[0]) || GENERAL_REG_P (operands[1]))
>       return "movd\t{%1, %0|%0, %1}";
>        return "movq\t{%1, %0|%0, %1}";
> @@ -3018,7 +3020,8 @@
>  
>      case 11:
>      case 12:
> -    return "%vmovd\t{%1, %0|%0, %1}";
> +      /* Handle broken assemblers that reqire movd instead of movq.  */
> +      return "%vmovd\t{%1, %0|%0, %1}";
>  
>      default:
>        gcc_unreachable();

        Jakub

Reply via email to