aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@gcc.gnu.org>2002-01-22 15:13:58 -0800
committerRichard Henderson <rth@gcc.gnu.org>2002-01-22 15:13:58 -0800
commit2e27193212a89346908fd2d15b505e617dd53045 (patch)
tree077e84ebe3fa686bad26656454a3408a869533ce /gcc
parent7f7cfc73b82c0aaff8735a8490b304bd1b6a7bb5 (diff)
downloadgcc-2e27193212a89346908fd2d15b505e617dd53045.zip
gcc-2e27193212a89346908fd2d15b505e617dd53045.tar.gz
gcc-2e27193212a89346908fd2d15b505e617dd53045.tar.bz2
alpha.md (divmodsi_internal_er): Generate lituse sequence number for the literal.
* config/alpha/alpha.md (divmodsi_internal_er): Generate lituse sequence number for the literal. (divmoddi_internal_er): Likewise. From-SVN: r49110
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/alpha/alpha.md18
2 files changed, 20 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 27c112d..2e8690f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+<<<<<<< ChangeLog
+
+ * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
+ sequence number for the literal.
+ (divmoddi_internal_er): Likewise.
+
2002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
PR java/4972
diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md
index fe256b6..94aeec6 100644
--- a/gcc/config/alpha/alpha.md
+++ b/gcc/config/alpha/alpha.md
@@ -1212,6 +1212,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi"
[(parallel [(set (match_dup 0)
(sign_extend:DI (match_dup 3)))
(use (match_dup 0))
+ (use (match_dup 4))
(clobber (reg:DI 23))
(clobber (reg:DI 28))])]
{
@@ -1233,7 +1234,10 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi"
default:
abort ();
}
- emit_move_insn (operands[0], gen_rtx_SYMBOL_REF (DImode, str));
+ operands[4] = GEN_INT (alpha_next_sequence_number++);
+ emit_insn (gen_movdi_er_high_g (operands[0], pic_offset_table_rtx,
+ gen_rtx_SYMBOL_REF (DImode, str),
+ operands[4]));
}
[(set_attr "type" "jsr")
(set_attr "length" "8")])
@@ -1244,10 +1248,11 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi"
[(match_operand:DI 1 "register_operand" "a")
(match_operand:DI 2 "register_operand" "b")])))
(use (match_operand:DI 4 "register_operand" "c"))
+ (use (match_operand 5 "const_int_operand" ""))
(clobber (reg:DI 23))
(clobber (reg:DI 28))]
"TARGET_EXPLICIT_RELOCS && ! TARGET_ABI_OPEN_VMS"
- "jsr $23,($27),__%E3"
+ "jsr $23,($27),__%E3%J5"
[(set_attr "type" "jsr")
(set_attr "length" "4")])
@@ -1275,6 +1280,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi"
"&& reload_completed"
[(parallel [(set (match_dup 0) (match_dup 3))
(use (match_dup 0))
+ (use (match_dup 4))
(clobber (reg:DI 23))
(clobber (reg:DI 28))])]
{
@@ -1296,7 +1302,10 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi"
default:
abort ();
}
- emit_move_insn (operands[0], gen_rtx_SYMBOL_REF (DImode, str));
+ operands[4] = GEN_INT (alpha_next_sequence_number++);
+ emit_insn (gen_movdi_er_high_g (operands[0], pic_offset_table_rtx,
+ gen_rtx_SYMBOL_REF (DImode, str),
+ operands[4]));
}
[(set_attr "type" "jsr")
(set_attr "length" "8")])
@@ -1307,10 +1316,11 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi"
[(match_operand:DI 1 "register_operand" "a")
(match_operand:DI 2 "register_operand" "b")]))
(use (match_operand:DI 4 "register_operand" "c"))
+ (use (match_operand 5 "const_int_operand" ""))
(clobber (reg:DI 23))
(clobber (reg:DI 28))]
"TARGET_EXPLICIT_RELOCS && ! TARGET_ABI_OPEN_VMS"
- "jsr $23,($27),__%E3"
+ "jsr $23,($27),__%E3%J5"
[(set_attr "type" "jsr")
(set_attr "length" "4")])