[Bug target/52496] avr-specific built-ins missing memory barrier

gjl at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Mar 8 11:15:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52496

--- Comment #1 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2012-03-08 11:14:11 UTC ---
Author: gjl
Date: Thu Mar  8 11:14:05 2012
New Revision: 185100

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=185100
Log:
    PR target/52496
    * config/avr/avr.c (avr_mem_clobber): New static function.
    (avr_expand_delay_cycles): Add memory clobber operand to
    delay_cycles_1, delay_cycles_2, delay_cycles_3, delay_cycles_4.
    * config/avr/avr.md (unspec): Add UNSPEC_MEMORY_BARRIER.
    (enable_interrupt, disable_interrupt): New expander.
    (nopv, sleep, wdr): New expanders.
    (delay_cycles_1): Add memory clobber.
    (delay_cycles_2): Add memory clobber.
    (delay_cycles_3): Add memory clobber.
    (delay_cycles_4): Add memory clobber.
    (cli_sei): New insn from former "enable_interrupt",
    "disable_interrupt" with memory clobber.
    (*wdt): New insn from former "wdt" with memory clobber.
    (*nopv): Similar, but for "nopv".
    (*sleep): Similar, but for "sleep".


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/avr/avr.c
    trunk/gcc/config/avr/avr.md



More information about the Gcc-bugs mailing list