diff options
author | David Edelsohn <edelsohn@gnu.org> | 2001-08-25 02:26:44 +0000 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2001-08-24 22:26:44 -0400 |
commit | 1cb18e3c3500238c72ca088b06466c64e3d7fd8d (patch) | |
tree | ff8bebb5f7e4546cf8cca315503d6eca0afdfd31 /gcc | |
parent | c3bef1a9430d4ee0997c14cb1734597e69b0c520 (diff) | |
download | gcc-1cb18e3c3500238c72ca088b06466c64e3d7fd8d.zip gcc-1cb18e3c3500238c72ca088b06466c64e3d7fd8d.tar.gz gcc-1cb18e3c3500238c72ca088b06466c64e3d7fd8d.tar.bz2 |
rs6000.c (rs6000_initialize_trampoline): Function descriptor members are pointer size, not constant 4.
* config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
descriptor members are pointer size, not constant 4.
* config/rs6000/rs6000.md (define_splits): Remove more unused
constraints.
From-SVN: r45168
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 8 |
3 files changed, 12 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c49b0d3..07285d3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2001-08-24 David Edelsohn <edelsohn@gnu.org> + + * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function + descriptor members are pointer size, not constant 4. + * config/rs6000/rs6000.md (define_splits): Remove more unused + constraints. + 2001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 4bfb673..705eaa1 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -8039,7 +8039,7 @@ rs6000_initialize_trampoline (addr, fnaddr, cxt) rtx fn_reg = gen_reg_rtx (pmode); rtx toc_reg = gen_reg_rtx (pmode); emit_move_insn (fn_reg, MEM_DEREF (fnaddr)); - emit_move_insn (toc_reg, MEM_PLUS (fnaddr, 4)); + emit_move_insn (toc_reg, MEM_PLUS (fnaddr, regsize)); emit_move_insn (MEM_DEREF (addr), fn_reg); emit_move_insn (MEM_PLUS (addr, regsize), toc_reg); emit_move_insn (MEM_PLUS (addr, 2*regsize), ctx_reg); diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 1011c9e..03690ab 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -1587,7 +1587,7 @@ [(set (match_operand:CC 2 "cc_reg_not_cr0_operand" "") (compare:CC (not:SI (match_operand:SI 1 "gpc_reg_operand" "")) (const_int 0))) - (set (match_operand:SI 0 "gpc_reg_operand" "=r") + (set (match_operand:SI 0 "gpc_reg_operand" "") (not:SI (match_dup 1)))] "! TARGET_POWERPC64 && reload_completed" [(set (match_dup 0) @@ -1926,9 +1926,9 @@ [(set_attr "length" "12")]) (define_split - [(set (match_operand:SI 0 "gpc_reg_operand" "=&r,r") - (abs:SI (match_operand:SI 1 "gpc_reg_operand" "r,0"))) - (clobber (match_scratch:SI 2 "=&r,&r"))] + [(set (match_operand:SI 0 "gpc_reg_operand" "") + (abs:SI (match_operand:SI 1 "gpc_reg_operand" ""))) + (clobber (match_scratch:SI 2 ""))] "! TARGET_POWER && reload_completed" [(set (match_dup 2) (ashiftrt:SI (match_dup 1) (const_int 31))) (set (match_dup 0) (xor:SI (match_dup 2) (match_dup 1))) |