mirror of git://gcc.gnu.org/git/gcc.git
i386.md (movsf_1): Allow moving SF values in MMX registers.
* config/i386/i386.md (movsf_1): Allow moving SF values in MMX registers. From-SVN: r49474
This commit is contained in:
parent
fa85240399
commit
ac300a450e
|
|
@ -1,3 +1,8 @@
|
||||||
|
2002-02-04 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* config/i386/i386.md (movsf_1): Allow moving SF values in MMX
|
||||||
|
registers.
|
||||||
|
|
||||||
2002-02-04 Jakub Jelinek <jakub@redhat.com>
|
2002-02-04 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
* combine.c (recog_for_combine): Create a dummy insn with PATTERN
|
* combine.c (recog_for_combine): Create a dummy insn with PATTERN
|
||||||
|
|
|
||||||
|
|
@ -2713,8 +2713,8 @@
|
||||||
(set (mem:SF (reg:DI 7)) (match_dup 1))])
|
(set (mem:SF (reg:DI 7)) (match_dup 1))])
|
||||||
|
|
||||||
(define_insn "*movsf_1"
|
(define_insn "*movsf_1"
|
||||||
[(set (match_operand:SF 0 "nonimmediate_operand" "=f#xr,m,f#xr,r#xf,m,x#rf,x#rf,x#rf,m")
|
[(set (match_operand:SF 0 "nonimmediate_operand" "=f#xr,m,f#xr,r#xf,m,x#rf,x#rf,x#rf,m,!*y,!rm")
|
||||||
(match_operand:SF 1 "general_operand" "fm#rx,f#rx,G,rmF#fx,Fr#fx,H,x,xm#rf,x#rf"))]
|
(match_operand:SF 1 "general_operand" "fm#rx,f#rx,G,rmF#fx,Fr#fx,H,x,xm#rf,x#rf,rm,*y"))]
|
||||||
"(GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
|
"(GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
|
||||||
&& (reload_in_progress || reload_completed
|
&& (reload_in_progress || reload_completed
|
||||||
|| (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
|
|| (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
|
||||||
|
|
@ -2762,12 +2762,16 @@
|
||||||
case 8:
|
case 8:
|
||||||
return "movss\t{%1, %0|%0, %1}";
|
return "movss\t{%1, %0|%0, %1}";
|
||||||
|
|
||||||
|
case 9:
|
||||||
|
case 10:
|
||||||
|
return "movd\t{%1, %0|%0, %1}";
|
||||||
|
|
||||||
default:
|
default:
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[(set_attr "type" "fmov,fmov,fmov,imov,imov,sse,sse,sse,sse")
|
[(set_attr "type" "fmov,fmov,fmov,imov,imov,sse,sse,sse,sse,mmx,mmx")
|
||||||
(set_attr "mode" "SF,SF,SF,SI,SI,TI,SF,SF,SF")])
|
(set_attr "mode" "SF,SF,SF,SI,SI,TI,SF,SF,SF,SI,SI")])
|
||||||
|
|
||||||
(define_insn "*swapsf"
|
(define_insn "*swapsf"
|
||||||
[(set (match_operand:SF 0 "register_operand" "+f")
|
[(set (match_operand:SF 0 "register_operand" "+f")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue