From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29378 invoked by alias); 11 Apr 2011 11:18:42 -0000 Received: (qmail 29369 invoked by uid 22791); 11 Apr 2011 11:18:41 -0000 X-SWARE-Spam-Status: No, hits=-1.6 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_NONE X-Spam-Check-By: sourceware.org Received: from mo-p00-ob.rzone.de (HELO mo-p00-ob.rzone.de) (81.169.146.161) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 11 Apr 2011 11:18:37 +0000 X-RZG-AUTH: :LXoWVUeid/7A29J/hMvvT2k715jHQaJercGObUOFkj18odoYNahU4Q== X-RZG-CLASS-ID: mo00 Received: from [192.168.0.22] (business-188-111-022-002.static.arcor-ip.net [188.111.22.2]) by post.strato.de (klopstock mo17) (RZmta 25.10) with ESMTPA id w020d9n3BAmjot ; Mon, 11 Apr 2011 13:18:19 +0200 (MEST) Message-ID: <4DA2E37B.6090804@gjlay.de> Date: Mon, 11 Apr 2011 11:18:00 -0000 From: Georg-Johann Lay User-Agent: Thunderbird 2.0.0.24 (X11/20100302) MIME-Version: 1.0 To: gcc-patches@gcc.gnu.org CC: Denis Chertykov , Eric Weddington , Anatoly Sokolov Subject: Re:Ping: [Patch][AVR]: Initial builtins support References: <4D9C747B.1020303@gjlay.de> In-Reply-To: <4D9C747B.1020303@gjlay.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-04/txt/msg00742.txt.bz2 Georg-Johann Lay schrieb: > This patch adds builtin support for some RTL builtins to avr backend. > One builtin implements loop for delay of specific number of ticks > (under the assumption IRQs are off), others simply map to machine > instructions like SEI, CLI, NOP, SLEEP, WDR, FMUL, FMAULS, FMULSU. > > In addition, builtin macros are introduced so that use can easily > query if or if not a specific builtin is available. This might be > useful as builtin support evolves, because #ifdef is easier then to > twiddle out which version brings what builtin. > > 2011-04-06 Georg-Johann Lay > > * config/avr/avr.c: ("insn-codes.h", "optabs.h", "langhooks.h"): > New Includes > (avr_init_builtins, avr_expand_builtin, > avr_expand_delay_cycles, avr_expand_unop_builtin, > avr_expand_binop_builtin ): New functions. > (avr_builtin_id): New enum > (struct avr_builtin_description): New struct > (bdesc_1arg, bdesc_2arg): New arrays describing some RTL builtins. > (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define. > * config/avr/avr.md (UNSPEC_FMUL, UNSPEC_FMULS, UNSPEC_FMULSU, > UNSPECV_ENABLE_IRQS, UNSPECV_NOP, UNSPECV_SLEEP, UNSPECV_WDR, > UNSPECV_DELAY_CYCLES): new enumeration values > (UNSPEC_SEI, UNSPEC_CLI): Remove enumeration values > ("enable_interrupt"): Use UNSPECV_ENABLE_IRQS > ("disable_interrupt"): Use UNSPECV_ENABLE_IRQS > ("*rotlqi3_4"): rename insn to "rotlqi3_4" > ("delay_cycles_1", "delay_cycles_2", "delay_cycles_3", > "delay_cycles_4", "nopv", "sleep", "wdr", "fmul", "fmuls", > "fmulsu"): New insns > * config/avr/avr-c.c: fix line endings > (avr_cpu_cpp_builtins): New builtin defines: __BUILTIN_AVR_NOP, > __BUILTIN_AVR_SEI, __BUILTIN_AVR_CLI, __BUILTIN_AVR_WDR, > __BUILTIN_AVR_SLEEP, __BUILTIN_AVR_SWAP, > __BUILTIN_AVR_DELAY_CYCLES, __BUILTIN_AVR_FMUL, > __BUILTIN_AVR_FMULS, __BUILTIN_AVR_FMULSU. >