diff options
author | hutchinsonandy <hutchinsonandy@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-04-07 23:15:35 +0000 |
---|---|---|
committer | hutchinsonandy <hutchinsonandy@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-04-07 23:15:35 +0000 |
commit | 38dd5584b50fd4f0177e1d4fa0047e355f259abe (patch) | |
tree | 7d29825db664e80cfd1115e6b8f86fd735169d0d /libgcc | |
parent | 29ab6ecd227a591d9bd0cdeb4ee2044e2046ed1b (diff) | |
download | gcc-38dd5584b50fd4f0177e1d4fa0047e355f259abe.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133993 138bc75d-0d04-0410-961f-82ee72b054a4
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 589f44b5369..ad0bf65f4ed 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 9496842f9bb..d695b44182d 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 00000000000..ee570724171 --- /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
+
+
|