This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Ping: [Patch][AVR]: Initial builtins support


2011/4/11 Georg-Johann Lay <avr@gjlay.de>:
> 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 Â<avr@gjlay.de>
>>
>> Â Â Â * 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.
>>

Approved.

Denis.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]