Workaround for -fssa testsuite failures.

* config/ia64/ia64-protos.h (flag_ssa): Declare.
	* config/ia64/ia64.md (movti_internal, movti_internal+1): New.

From-SVN: r35439
This commit is contained in:
Jim Wilson 2000-08-03 00:31:39 +00:00 committed by Jim Wilson
parent 3db35af4a5
commit e314e3318a
3 changed files with 28 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2000-08-02 Jim Wilson <wilson@cygnus.com>
* config/ia64/ia64-protos.h (flag_ssa): Declare.
* config/ia64/ia64.md (movti_internal, movti_internal+1): New.
2000-08-02 Mark Mitchell <mark@codesourcery.com>
* dce.c: Remove all uses of assert.

View File

@ -118,3 +118,6 @@ extern void ia64_init_builtins PARAMS((void));
extern void ia64_override_options PARAMS((void));
extern unsigned int ia64_compute_frame_size PARAMS((int));
extern void save_restore_insns PARAMS((int));
/* ??? Flag defined in toplev.c, for ia64.md -fssa hack. */
extern int flag_ssa;

View File

@ -551,6 +551,26 @@
"addl %0 = @ltoff(%1), gp"
[(set_attr "type" "A")])
;; ??? These patterns exist to make SSA happy. We can get TImode values
;; because of structure moves generated for parameter and return value
;; loads and stores.
(define_insn "*movti_internal"
[(set (match_operand:TI 0 "register_operand" "=r")
(match_operand:TI 1 "register_operand" "r"))]
"flag_ssa"
"#"
[(set_attr "type" "unknown")
(set_attr "predicable" "no")])
(define_split
[(set (match_operand:TI 0 "register_operand" "")
(match_operand:TI 1 "register_operand" ""))]
"flag_ssa && reload_completed"
[(set (subreg:DI (match_dup 0) 0) (subreg:DI (match_dup 1) 0))
(set (subreg:DI (match_dup 0) 1) (subreg:DI (match_dup 1) 1))]
"")
;; Floating Point Moves
;;
;; Note - Patterns for SF mode moves are compulsory, but