diff options
author | wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-08-03 00:31:39 +0000 |
---|---|---|
committer | wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-08-03 00:31:39 +0000 |
commit | e84fc051bc672202bbdad768634295a1b9f3a9a4 (patch) | |
tree | 7efcac071a1e56faf0aa7eec843f12ec37038a20 /gcc/config/ia64/ia64.md | |
parent | 124d58a1566656489e1a34297499ddec51df6eb3 (diff) | |
download | gcc-e84fc051bc672202bbdad768634295a1b9f3a9a4.tar.gz |
Workaround for -fssa testsuite failures.
* config/ia64/ia64-protos.h (flag_ssa): Declare.
* config/ia64/ia64.md (movti_internal, movti_internal+1): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35439 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/ia64/ia64.md')
-rw-r--r-- | gcc/config/ia64/ia64.md | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md index f43012056be..4cc442bfa0d 100644 --- a/gcc/config/ia64/ia64.md +++ b/gcc/config/ia64/ia64.md @@ -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 |