This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Fix powerpc-linux-gnu bootstrap
- To: gcc-patches at gcc dot gnu dot org
- Subject: [PATCH] Fix powerpc-linux-gnu bootstrap
- From: Franz Sirl <Franz dot Sirl-kernel at lauterbach dot com>
- Date: Sat, 5 May 2001 00:18:45 +0200
Hi,
currently the mainline bootstrap fails with:
stage1/xgcc -Bstage1/ -B/home/fsirl/gnubin/ppc-linux/bin/ -c -DIN_GCC -g
-O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wtraditional -pedantic -Wno-long-long -DHAVE_CONFIG_H -I. -I.
-I/home/fsirl/cvsx/gccm/gcc -I/home/fsirl/cvsx/gccm/gcc/.
-I/home/fsirl/cvsx/gccm/gcc/config -I/home/fsirl/cvsx/gccm/gcc/../include
/home/fsirl/cvsx/gccm/gcc/explow.c -o explow.o
/tmp/cc9D900e.s: Assembler messages:
/tmp/cc9D900e.s:2611: Error: Unrecognized opcode: `rldic'
make[2]: *** [explow.o] Error 1
The appended patch fixes that.
OK for mainline and branch (siince the 32x64 changes are going into the
branch too)?
Franz.
* config/rs6000/rs6000.md (ashldi3 splits): Guard with TARGET_POWERPC64.
Index: rs6000.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000.md,v
retrieving revision 1.114
diff -u -p -r1.114 rs6000.md
--- rs6000.md 2001/04/20 08:33:35 1.114
+++ rs6000.md 2001/05/04 19:31:37
@@ -6727,7 +6727,7 @@
(and:DI (ashift:DI (match_operand:DI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "const_int_operand" "i"))
(match_operand:DI 3 "rldic_operand" "n")))]
- "includes_lshift64_p (operands[2], operands[3])"
+ "TARGET_POWERPC64 && includes_lshift64_p (operands[2], operands[3])"
"rldic %0,%1,%H2,%W3")
(define_insn "ashldi3_internal5"
@@ -6738,7 +6738,7 @@
(match_operand:DI 3 "rldic_operand" "n,n"))
(const_int 0)))
(clobber (match_scratch:DI 4 "=r,r"))]
- "includes_lshift64_p (operands[2], operands[3])"
+ "TARGET_POWERPC64 && includes_lshift64_p (operands[2], operands[3])"
"@
rldic. %4,%1,%H2,%W3
#"
@@ -6753,7 +6753,7 @@
(match_operand:DI 3 "rldic_operand" ""))
(const_int 0)))
(clobber (match_scratch:DI 4 ""))]
- "includes_lshift64_p (operands[2], operands[3]) && reload_completed"
+ "TARGET_POWERPC64 && includes_lshift64_p (operands[2], operands[3]) && reload_completed"
[(set (match_dup 4)
(and:DI (ashift:DI (match_dup 1) (match_dup 2))
(match_dup 3)))
@@ -6771,7 +6771,7 @@
(const_int 0)))
(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
(and:DI (ashift:DI (match_dup 1) (match_dup 2)) (match_dup 3)))]
- "includes_lshift64_p (operands[2], operands[3])"
+ "TARGET_POWERPC64 && includes_lshift64_p (operands[2], operands[3])"
"@
rldic. %0,%1,%H2,%W3
#"
@@ -6787,7 +6787,7 @@
(const_int 0)))
(set (match_operand:DI 0 "gpc_reg_operand" "")
(and:DI (ashift:DI (match_dup 1) (match_dup 2)) (match_dup 3)))]
- "includes_lshift64_p (operands[2], operands[3]) && reload_completed"
+ "TARGET_POWERPC64 && includes_lshift64_p (operands[2], operands[3]) && reload_completed"
[(set (match_dup 0)
(and:DI (ashift:DI (match_dup 1) (match_dup 2))
(match_dup 3)))