PR target/34210 PR target/35508 * config.host (avr-*-*): Add avr cpu_type and avr...
authorAndy Hutchinson <hutchinsonandy@aim.com>
Mon, 7 Apr 2008 23:15:35 +0000 (23:15 +0000)
committerAndy Hutchinson <hutchinsonandy@gcc.gnu.org>
Mon, 7 Apr 2008 23:15:35 +0000 (23:15 +0000)
From-SVN: r133993

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

index 589f44b53690360b1a37d0593b3e43b860afbc46..ad0bf65f4ed609d1b628c49791fb4b41b84748ec 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 9496842f9bb6ed96729c4d043ddf88197948d1e3..d695b44182dd049cc90d89db7ef9f1bb0505326d 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