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]

Re: SSE scalar fp comparison patterns


On Tue, Feb 13, 2001 at 03:14:28PM +0100, Jan Hubicka wrote:
>   (define_insn "*cmpfp_iu"
>     [(set (reg:CCFPU 17)
>   	(compare:CCFPU (match_operand 0 "register_operand" "f")
>   		       (match_operand 1 "register_operand" "f")))]
>     "TARGET_80387 && TARGET_CMOVE
>      && FLOAT_MODE_P (GET_MODE (operands[0]))
> -    && GET_MODE (operands[0]) == GET_MODE (operands[1])"
> +    && GET_MODE (operands[0]) == GET_MODE (operands[0])"

Huh?

> + (define_insn "*cmpfp_iu_sse"
> + (define_insn "*cmpfp_iu_sse_only"

At some future point it might be a good idea to pull the same trick
with "f" as you did with "x" -- make it evaluate to NO_REGS when
!TARGET_80387.  Then we can combine some of these patterns.

> + (define_insn "*fp_jcc_1_sse_only"
> +   [(set (pc)
> + 	(if_then_else (match_operator 0 "comparison_operator"
> + 			[(match_operand 1 "register_operand" "f#x,x#f")
> + 			 (match_operand 2 "nonimmediate_operand" "f#x,xm#f")])

Forgot to remove "f" alternatives.

> + (define_insn "*fp_jcc_2_sse"

For this one you don't provide an sse_only pattern?

Ok with fixes.



r~


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