diff options
author | Stuart Hastings <stuart@apple.com> | 2006-04-19 04:18:09 +0000 |
---|---|---|
committer | Stuart Hastings <stuart@apple.com> | 2006-04-19 04:18:09 +0000 |
commit | 99fa9b7cdc11a4464bb8913a11a84081a5866bfd (patch) | |
tree | da8028dc179c3f4f582a0ca605a1537b4c8b577e | |
parent | e708463c9257e2a5f1237923d984d7013aea0332 (diff) |
Radar 4505290apple/gcc-5336
* config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New.
* config/t-darwin (crt3.o): Use it.
* config/rs6000/rs6000.md (call_indirect_nonlocal_sysv,
call_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
call_value_nonlocal_sysv, sibcall_nonlocal_sysv,
sibcall_value_nonlocal_sysv): Use the P macro for 32/64 support.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/apple-local-200502-branch@113067 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog.apple-ppc | 10 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 36 | ||||
-rw-r--r-- | gcc/config/rs6000/t-darwin | 3 | ||||
-rw-r--r-- | gcc/config/t-darwin | 3 |
4 files changed, 40 insertions, 12 deletions
diff --git a/gcc/ChangeLog.apple-ppc b/gcc/ChangeLog.apple-ppc index a60d479b24d..f185444d632 100644 --- a/gcc/ChangeLog.apple-ppc +++ b/gcc/ChangeLog.apple-ppc @@ -1,3 +1,13 @@ +2006-04-18 Stuart Hastings <stuart@apple.com> + + Radar 4505290 + * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New. + * config/t-darwin (crt3.o): Use it. + * config/rs6000/rs6000.md (call_indirect_nonlocal_sysv, + call_nonlocal_sysv, call_value_indirect_nonlocal_sysv, + call_value_nonlocal_sysv, sibcall_nonlocal_sysv, + sibcall_value_nonlocal_sysv): Use the P macro for 32/64 support. + 2006-04-18 Devang Patel <dpatel@apple.com> Radar 4475058 diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 4cf4e4f7b99..3faa6064f48 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -10608,8 +10608,10 @@ ;; which indicates how to set cr1 ;; APPLE LOCAL begin separate cl into c,*l; switch and attr's expanded to match -(define_insn "*call_indirect_nonlocal_sysv" - [(call (mem:SI (match_operand:SI 0 "register_operand" "c,*l,c,*l")) +;; APPLE LOCAL begin 4505290 +(define_insn "*call_indirect_nonlocal_sysv<mode>" + [(call (mem:SI (match_operand:P 0 "register_operand" "c,*l,c,*l")) +;; APPLE LOCAL end 4505290 (match_operand 1 "" "g,g,g,g")) (use (match_operand:SI 2 "immediate_operand" "O,O,n,n")) (clobber (match_scratch:SI 3 "=l,l,l,l"))] @@ -10628,8 +10630,10 @@ (set_attr "length" "4,4,8,8")]) ;; APPLE LOCAL end separate cl into c,*l; switch and attr's expanded to match -(define_insn "*call_nonlocal_sysv" - [(call (mem:SI (match_operand:SI 0 "symbol_ref_operand" "s,s")) +;; APPLE LOCAL begin 4505290 +(define_insn "*call_nonlocal_sysv<mode>" + [(call (mem:SI (match_operand:P 0 "symbol_ref_operand" "s,s")) +;; APPLE LOCAL end 4505290 (match_operand 1 "" "g,g")) (use (match_operand:SI 2 "immediate_operand" "O,n")) (clobber (match_scratch:SI 3 "=l,l"))] @@ -10668,9 +10672,11 @@ (set_attr "length" "4,8")]) ;; APPLE LOCAL begin separate cl into c,*l; switch and attr's expanded to match -(define_insn "*call_value_indirect_nonlocal_sysv" +;; APPLE LOCAL begin 4505290 +(define_insn "*call_value_indirect_nonlocal_sysv<mode>" [(set (match_operand 0 "" "") - (call (mem:SI (match_operand:SI 1 "register_operand" "c,*l,c,*l")) + (call (mem:SI (match_operand:P 1 "register_operand" "c,*l,c,*l")) +;; APPLE LOCAL end 4505290 (match_operand 2 "" "g,g,g,g"))) (use (match_operand:SI 3 "immediate_operand" "O,O,n,n")) (clobber (match_scratch:SI 4 "=l,l,l,l"))] @@ -10689,9 +10695,11 @@ (set_attr "length" "4,4,8,8")]) ;; APPLE LOCAL end separate cl into c,*l; switch and attr's expanded to match -(define_insn "*call_value_nonlocal_sysv" +;; APPLE LOCAL begin 4505290 +(define_insn "*call_value_nonlocal_sysv<mode>" [(set (match_operand 0 "" "") - (call (mem:SI (match_operand:SI 1 "symbol_ref_operand" "s,s")) + (call (mem:SI (match_operand:P 1 "symbol_ref_operand" "s,s")) +;; APPLE LOCAL end 4505290 (match_operand 2 "" "g,g"))) (use (match_operand:SI 3 "immediate_operand" "O,n")) (clobber (match_scratch:SI 4 "=l,l"))] @@ -11012,8 +11020,10 @@ [(set_attr "type" "branch") (set_attr "length" "4")]) -(define_insn "*sibcall_nonlocal_sysv" - [(call (mem:SI (match_operand:SI 0 "symbol_ref_operand" "s,s")) +;; APPLE LOCAL begin 4505290 +(define_insn "*sibcall_nonlocal_sysv<mode>" + [(call (mem:SI (match_operand:P 0 "symbol_ref_operand" "s,s")) +;; APPLE LOCAL end 4505290 (match_operand 1 "" "")) (use (match_operand 2 "immediate_operand" "O,n")) (use (match_operand:SI 3 "register_operand" "l,l")) @@ -11057,9 +11067,11 @@ }") -(define_insn "*sibcall_value_nonlocal_sysv" +;; APPLE LOCAL begin 4505290 +(define_insn "*sibcall_value_nonlocal_sysv<mode>" [(set (match_operand 0 "" "") - (call (mem:SI (match_operand:SI 1 "symbol_ref_operand" "s,s")) + (call (mem:SI (match_operand:P 1 "symbol_ref_operand" "s,s")) +;; APPLE LOCAL end 4505290 (match_operand 2 "" ""))) (use (match_operand:SI 3 "immediate_operand" "O,n")) (use (match_operand:SI 4 "register_operand" "l,l")) diff --git a/gcc/config/rs6000/t-darwin b/gcc/config/rs6000/t-darwin index 973bb321d05..eac3049e283 100644 --- a/gcc/config/rs6000/t-darwin +++ b/gcc/config/rs6000/t-darwin @@ -31,6 +31,9 @@ darwin-fpsave.o: $(srcdir)/config/rs6000/darwin-asm.h darwin-tramp.o: $(srcdir)/config/rs6000/darwin-asm.h # APPLE LOCAL begin mainline 2006-03-15 3992198 +# APPLE LOCAL 4505290 +DARWIN_EXTRA_CRT_BUILD_CFLAGS = -mlongcall + # Explain how to build crt2.o $(T)crt2$(objext): $(srcdir)/config/darwin-crt2.c $(GCC_PASSES) \ $(TCONFIG_H) stmp-int-hdrs tsystem.h diff --git a/gcc/config/t-darwin b/gcc/config/t-darwin index bb5c31c84d6..bbb8ab58454 100644 --- a/gcc/config/t-darwin +++ b/gcc/config/t-darwin @@ -18,13 +18,16 @@ darwin-c.o: $(srcdir)/config/darwin-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ gt-darwin.h : s-gtype ; @true # APPLE LOCAL begin mainline 2006-03-15 3992198 + # APPLE LOCAL begin 4505290 # How to build crt3.o EXTRA_MULTILIB_PARTS=crt3.o $(T)crt3$(objext): $(srcdir)/config/darwin-crt3.c $(GCC_PASSES) \ $(TCONFIG_H) stmp-int-hdrs tsystem.h $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) \ + $(DARWIN_EXTRA_CRT_BUILD_CFLAGS) \ -c $(srcdir)/config/darwin-crt3.c -o $(T)crt3$(objext) + # APPLE LOCAL end 4505290 # APPLE LOCAL end mainline 2006-03-15 3992198 # Use unwind-dw2-fde-darwin LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-darwin.c \ |