Committed, MMIX: Fix fixuns_truncdfdi2.
Hans-Peter Nilsson
hp@bitrange.com
Fri Oct 25 19:34:00 GMT 2002
Regression (and other) bug-hunt for MMIX is overdue.
The docs say unsigned_fix isn't allowed to generate integer
modes, while fix is. It seems simplify_unary_operation agrees.
BTW, this is the same RTL that pa.md has. This fixes some
regressions-by-unrelated-exposure:
-gcc.c-torture/execute/980605-1.c compilation, -O3 -fomit-frame-pointer
-gcc.c-torture/execute/980605-1.c compilation, -O3 -g
-gcc.c-torture/execute/conversion.c compilation, -O3 -fomit-frame-pointer
-gcc.c-torture/execute/conversion.c compilation, -O3 -g
-gcc.c-torture/execute/gofast.c compilation, -O3 -fomit-frame-pointer
-gcc.c-torture/execute/gofast.c compilation, -O3 -g
-gcc.c-torture/execute/ieee/rbug.c compilation, -O3 -fomit-frame-pointer
-gcc.c-torture/execute/ieee/rbug.c compilation, -O3 -g
-gcc.c-torture/unsorted/BUG11.c, -O3 -fomit-frame-pointer
-gcc.c-torture/unsorted/BUG11.c, -O3 -g
-gcc.c-torture/unsorted/conv.c, -O3 -fomit-frame-pointer
-gcc.c-torture/unsorted/conv.c, -O3 -g
-gcc.c-torture/unsorted/conv_tst.c, -O3 -fomit-frame-pointer
-gcc.c-torture/unsorted/conv_tst.c, -O3 -g
(14 down, more-than-three to go.)
* config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
invalid for floating point mode result, with fix.
Index: mmix.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mmix/mmix.md,v
retrieving revision 1.18
diff -p -c -r1.18 mmix.md
*** mmix.md 24 Sep 2002 12:49:00 -0000 1.18
--- mmix.md 26 Oct 2002 02:14:31 -0000
*************** DIVU %1,%1,%2\;GET %0,:rR\;NEGU %2,0,%0\
*** 583,589 ****
(define_insn "fixuns_truncdfdi2"
[(set (match_operand:DI 0 "register_operand" "=r")
(unsigned_fix:DI
! (unsigned_fix:DF (match_operand:DF 1 "register_operand" "r"))))]
""
;; ROUND_OFF
"FIXU %0,1,%1")
--- 583,589 ----
(define_insn "fixuns_truncdfdi2"
[(set (match_operand:DI 0 "register_operand" "=r")
(unsigned_fix:DI
! (fix:DF (match_operand:DF 1 "register_operand" "r"))))]
""
;; ROUND_OFF
"FIXU %0,1,%1")
brgds, H-P
More information about the Gcc-patches
mailing list