diff options
author | Andy Hutchinson <hutchinsonandy@aim.com> | 2008-04-07 23:15:35 +0000 |
---|---|---|
committer | Andy Hutchinson <hutchinsonandy@gcc.gnu.org> | 2008-04-07 23:15:35 +0000 |
commit | 47583040f760ccfa6948622033a4835c8b747c5a (patch) | |
tree | 7d29825db664e80cfd1115e6b8f86fd735169d0d /libgcc | |
parent | 06407e30fd47563dabeaa37e033fd99e8bc8181c (diff) | |
download | gcc-47583040f760ccfa6948622033a4835c8b747c5a.zip gcc-47583040f760ccfa6948622033a4835c8b747c5a.tar.gz gcc-47583040f760ccfa6948622033a4835c8b747c5a.tar.bz2 |
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.
From-SVN: r133993
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/ChangeLog | 7 | ||||
-rw-r--r-- | libgcc/config.host | 5 | ||||
-rw-r--r-- | libgcc/config/avr/t-avr | 19 |
3 files changed, 31 insertions, 0 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 589f44b..ad0bf65 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -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 diff --git a/libgcc/config.host b/libgcc/config.host index 9496842..d695b44 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -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 index 0000000..ee57072 --- /dev/null +++ b/libgcc/config/avr/t-avr @@ -0,0 +1,19 @@ +# Extra 16-bit integer functions.
+intfuncs16 = _absvXX2 _addvXX3 _subvXX3 _mulvXX3 _negvXX2 _ffsXX2 _clzXX2 \
+ _ctzXX2 _popcountXX2 _parityXX2
+hiintfuncs16 = $(subst XX,hi,$(intfuncs16))
+siintfuncs16 = $(subst XX,si,$(intfuncs16))
+
+iter-items := $(hiintfuncs16)
+iter-labels := $(siintfuncs16)
+iter-sizes := $(patsubst %,2,$(siintfuncs16)) $(patsubst %,2,$(hiintfuncs16))
+
+
+include $(srcdir)/empty.mk $(patsubst %,$(srcdir)/siditi-object.mk,$(iter-items))
+libgcc-objects += $(patsubst %,%$(objext),$(hiintfuncs16))
+
+ifeq ($(enable_shared),yes)
+libgcc-s-objects += $(patsubst %,%_s$(objext),$(hiintfuncs16))
+endif
+
+
|