[patch] MIPS: 64bit floating point support for MIPS32R2

Eric Christopher echristo@apple.com
Wed Nov 8 00:25:00 GMT 2006



> 	(load_df_low, load_df_high): Remove DF mode from template such
> 	that DI mode works for these patterns.
>
>  ;; Load the low word of operand 0 with operand 1.
>  (define_insn "load_df_low"
> -  [(set (match_operand:DF 0 "register_operand" "=f,f")
> -       (unspec:DF [(match_operand:SI 1 "general_operand" "dJ,m")]
> -                  UNSPEC_LOAD_DF_LOW))]
> +  [(set (match_operand 0 "register_operand" "=f,f")
> +       (unspec [(match_operand:SI 1 "general_operand" "dJ,m")]
> +               UNSPEC_LOAD_DF_LOW))]
>    "TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && !TARGET_64BIT"
>  {
>    operands[0] = mips_subword (operands[0], 0);
> @@ -3965,10 +3977,10 @@
>  ;; Load the high word of operand 0 from operand 1, preserving the  
> value
>  ;; in the low word.
>  (define_insn "load_df_high"
> -  [(set (match_operand:DF 0 "register_operand" "=f,f")
> -       (unspec:DF [(match_operand:SI 1 "general_operand" "dJ,m")
> -                   (match_operand:DF 2 "register_operand" "0,0")]
> -                  UNSPEC_LOAD_DF_HIGH))]
> +  [(set (match_operand 0 "register_operand" "=f,f")
> +       (unspec [(match_operand:SI 1 "general_operand" "dJ,m")
> +               (match_operand:DF 2 "register_operand" "0,0")]
> +               UNSPEC_LOAD_DF_HIGH))]
>    "TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT && !TARGET_64BIT"
>  {
>    operands[0] = mips_subword (operands[0], 1);

I think I'm missing something, why do you need these changes again?

-eric



More information about the Gcc-patches mailing list