OSDN Git Service

PR target/34210 PR target/35508 * config.host (avr-*-*): Add avr cpu_type and avr...
authorhutchinsonandy <hutchinsonandy@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 7 Apr 2008 23:15:35 +0000 (23:15 +0000)
committerhutchinsonandy <hutchinsonandy@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 7 Apr 2008 23:15:35 +0000 (23:15 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133993 138bc75d-0d04-0410-961f-82ee72b054a4

libgcc/ChangeLog
libgcc/config.host
libgcc/config/avr/t-avr [new file with mode: 0644]

index 589f44b..ad0bf65 100644 (file)
@@ -1,3 +1,10 @@
+2008-04-07  Andy Hutchinson  <hutchinsonandy@aim.com>
+
+       PR target/34210
+       PR target/35508
+       * config.host (avr-*-*): Add avr cpu_type and avr tmake_file.
+       * config/t-avr: New file. Build 16bit libgcc functions.
+
 2008-03-02  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/35401
index 9496842..d695b44 100644 (file)
@@ -77,6 +77,9 @@ strongarm*-*-*)
 arm*-*-*)
        cpu_type=arm
        ;;
+avr-*-*)
+       cpu_type=avr
+       ;;    
 bfin*-*)
        cpu_type=bfin
        ;;
@@ -243,6 +246,8 @@ arm*-*-kaos*)
 avr-*-rtems*)
        ;;
 avr-*-*)
+    # Make HImode functions for AVR
+    tmake_file=${cpu_type}/t-avr
        ;;
 bfin*-elf*)
         ;;
diff --git a/libgcc/config/avr/t-avr b/libgcc/config/avr/t-avr
new file mode 100644 (file)
index 0000000..ee57072
--- /dev/null
@@ -0,0 +1,19 @@
+# Extra 16-bit integer functions.\r
+intfuncs16 = _absvXX2 _addvXX3 _subvXX3 _mulvXX3 _negvXX2 _ffsXX2 _clzXX2 \\r
+             _ctzXX2 _popcountXX2 _parityXX2\r
+hiintfuncs16 = $(subst XX,hi,$(intfuncs16))\r
+siintfuncs16 = $(subst XX,si,$(intfuncs16))\r
+\r
+iter-items := $(hiintfuncs16)\r
+iter-labels := $(siintfuncs16)\r
+iter-sizes := $(patsubst %,2,$(siintfuncs16)) $(patsubst %,2,$(hiintfuncs16))\r
+\r
+\r
+include $(srcdir)/empty.mk $(patsubst %,$(srcdir)/siditi-object.mk,$(iter-items))\r
+libgcc-objects += $(patsubst %,%$(objext),$(hiintfuncs16))\r
+\r
+ifeq ($(enable_shared),yes)\r
+libgcc-s-objects += $(patsubst %,%_s$(objext),$(hiintfuncs16))\r
+endif\r
+\r
+\r