diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 11 |
2 files changed, 8 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 955a631..406d333 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Thu Jan 9 22:47:38 CET 2003 Jan Hubicka <jh@suse.cz> + + * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt correctly. + 2003-01-09 Paolo Carlini <pcarlini@unitus.it> * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo. diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 03af61d..936bade 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -161,7 +161,7 @@ (cond [(eq_attr "type" "fmov,fop,fsgn,fmul,fdiv,fpspc,fcmov,fcmp,fxch,fistp") (const_string "i387") (eq_attr "type" "sselog,sseiadd,sseishft,sseimul, - sse,ssemov,sseadd,ssemul,ssecmp,ssecomi,ssecvt,ssediv") + sse,ssemov,sseadd,ssemul,ssecmp,ssecomi,ssecvt,sseicvt,ssediv") (const_string "sse") (eq_attr "type" "mmx,mmxmov,mmxadd,mmxmul,mmxcmp,mmxcvt,mmxshft") (const_string "mmx") @@ -225,11 +225,8 @@ ;; Set when 0f opcode prefix is used. (define_attr "prefix_0f" "" (if_then_else - (eq_attr "type" - "imovx,setcc,icmov, - sselog,sseiadd,sseishft,sseimul, - sse,ssemov,sseadd,ssemul,ssecmp,ssecomi,ssecvt,ssediv, - mmx,mmxmov,mmxadd,mmxmul,mmxcmp,mmxcvt,mmxshft") + (ior (eq_attr "type" "imovx,setcc,icmov") + (eq_attr "unit" "sse,mmx")) (const_int 1) (const_int 0))) @@ -350,7 +347,7 @@ "!alu1,negnot, imov,imovx,icmp,test, fmov,fcmp,fsgn, - sse,ssemov,ssecmp,ssecomi,ssecvt, + sse,ssemov,ssecmp,ssecomi,ssecvt,sseicvt, mmx,mmxmov,mmxcmp,mmxcvt") (match_operand 2 "memory_operand" "")) (const_string "load") |