Re: [patch,avr] Fix ICE PR61443

2014-06-11 Thread Denis Chertykov
2014-06-11 13:05 GMT+04:00 Georg-Johann Lay a...@gjlay.de: This is a fix for unrecognizable insn ICE where the push expander generated (subreg(mem)) for non-generic address-space locations. Instead of loading byte-wise and legitimizing such expressions, it's easier and results in better code

Re: [patch,avr] atmel avr new devices set-2

2014-06-03 Thread Denis Chertykov
2014-06-03 18:26 GMT+04:00 S, Pitchumani pitchuman...@atmel.com: Hi, Attached patch adds support for Atmel devices tiny441, tiny828 and tiny841. Please commit if the patch is OK. Note: This is continuation of patch attached in https://gcc.gnu.org/ml/gcc-patches/2014-06/msg00049.html

Re: [patch,avr] atmel avr new devices set-1

2014-06-03 Thread Denis Chertykov
2014-06-02 13:47 GMT+04:00 S, Pitchumani pitchuman...@atmel.com: Hi, Attached patch adds support for Atmel ATA devices (ata6616c, ata6617c, ata664251, ata6612c, ata6613c and ata6614q). Please commit if the patch is OK. I do not have commit access. Regards, Pitchumani gcc/ChangeLog

Re: [patch, avr] ata6289 device ISA is updated

2014-05-30 Thread Denis Chertykov
2014-05-29 22:27 GMT+04:00 S, Pitchumani pitchuman...@atmel.com: Hi, Device ATA6289 has MUL instruction and it belongs to avr4 ISA. Now it is incorrectly listed under avr25. Attached patch corrects it. Please commit if the patch is OK. I do not have commit access. Regards, Pitchumani

Re: [patch,doc,avr] PR61044: Note that label defferences are not supported

2014-05-27 Thread Denis Chertykov
2014-05-26 20:47 GMT+04:00 Georg-Johann Lay a...@gjlay.de: This adds a note to the user manual that code with label differences is not supported. This is because adding an offset to a stub address as generated with gs() will in general not yield the address of the label+offset. This actually

Re: [Patch, avr] Propagate -mrelax gcc driver flag to assembler

2014-05-18 Thread Denis Chertykov
2014-05-16 14:02 GMT+04:00 Georg-Johann Lay a...@gjlay.de: Am 05/15/2014 09:55 AM, schrieb Senthil Kumar Selvaraj: On Wed, May 14, 2014 at 12:56:54PM +0200, Rainer Orth wrote: Georg-Johann Lay a...@gjlay.de writes: Or what about simply that, which works for me: Index: config/avr/avr.h

Re: [Patch, avr] Fix PR60991

2014-05-12 Thread Denis Chertykov
2014-05-12 14:17 GMT+04:00 Senthil Kumar Selvaraj senthil_kumar.selva...@atmel.com: This trivial patch fixes PR60991 by correcting the constant used to restore Y in one of the assembler template variants used in avr_out_store_psi. I've also added a testcase (modified from the original poster's

Re: [patch,avr] Fix PR61055: Wrong branch instruction after INC, DEC.

2014-05-09 Thread Denis Chertykov
2014-05-08 17:04 GMT+04:00 Georg-Johann Lay a...@gjlay.de: Some instructions like INC, DEC, NEG currently set cc0 to set_zn which is not the whole story because they also set the V flag. This leads to a wrong branch instruction in the remainder as cc0 is used. Fix is to do same as clobber

[patch, avr] handle JUMP_TABLE_DATA

2014-05-03 Thread Denis Chertykov
Committed patch. 2014-05-03 Denis Chertykov cherty...@gmail.com * config/avr/avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA. Index: gcc/config/avr/avr.c === --- gcc/config/avr/avr.c (revision 210034) +++ gcc/config/avr

Re: [patch,avr] Fix PR59396, take 2: Ignore leading '*' in warning generation for ISR names

2014-03-14 Thread Denis Chertykov
2014-03-13 22:58 GMT+04:00 Georg-Johann Lay a...@gjlay.de: Am 03/13/2014 07:36 PM, schrieb Denis Chertykov: 2014-03-13 21:41 GMT+04:00 Georg-Johann Lay: Am 03/13/2014 04:41 PM, schrieb Senthil Kumar Selvaraj: On Thu, Mar 13, 2014 at 02:24:06PM +0100, Georg-Johann Lay wrote: Problem

Re: [patch,avr] Fix PR60486: Typo cc_plus against cc_minus in calls of avr_out_plus_1

2014-03-13 Thread Denis Chertykov
2014-03-12 17:35 GMT+04:00 Georg-Johann Lay a...@gjlay.de: This fixes a problem because cc_plus and cc_minus are in the wrong places in calls of avr_out_plus_1. This is important when avr_out_plus is called from notice_update_cc. This means that cc_status might be determined incorrectly.

Re: [patch,avr] Fix PR59396: Ignore leading '*' in warning generation for ISR names

2014-03-13 Thread Denis Chertykov
2014-03-13 21:41 GMT+04:00 Georg-Johann Lay a...@gjlay.de: Am 03/13/2014 04:41 PM, schrieb Senthil Kumar Selvaraj: On Thu, Mar 13, 2014 at 02:24:06PM +0100, Georg-Johann Lay wrote: Problem is that the assembler name might or might not be prefixed by '*' depending on when

[patch] Remove two maintainers of avr port

2014-03-07 Thread Denis Chertykov
Committed. 2014-03-07 Denis Chertykov cherty...@gmail.com * MAINTAINERS: Remove avr maintainers: Anatoly Sokolov and Eric Weddington Index: MAINTAINERS === --- MAINTAINERS (revision 208404) +++ MAINTAINERS (working copy

Re: [patch,avr] Device specific instructions support for avr

2014-03-06 Thread Denis Chertykov
2014-03-06 10:57 GMT+04:00 S, Pitchumani pitchuman...@atmel.com: Hi Denis, -Original Message- From: Denis Chertykov [mailto:cherty...@gmail.com] Sent: Monday, March 03, 2014 10:45 PM 2014-03-03 13:34 GMT+04:00 S, Pitchumani pitchuman...@atmel.com: Hi, Few AVR Xmega devices have

Re: [AVR] remove two maintainers

2014-03-03 Thread Denis Chertykov
2014-03-03 15:35 GMT+04:00 David Brown da...@westcontrol.com: On 02/03/14 19:24, Denis Chertykov wrote: I would remove two maintainers for AVR port: 1. Anatoly Sokolov ae...@post.ru 2. Eric Weddington eric.wedding...@atmel.com I have discussed the removal with Anatoly Sokolov and he is agree

Re: [AVR] remove two maintainers

2014-03-03 Thread Denis Chertykov
2014-03-03 21:01 GMT+04:00 David Edelsohn dje@gmail.com: On Mon, Mar 3, 2014 at 7:04 AM, Denis Chertykov cherty...@gmail.com wrote: 2014-03-03 15:35 GMT+04:00 David Brown da...@westcontrol.com: On 02/03/14 19:24, Denis Chertykov wrote: I would remove two maintainers for AVR port: 1

Re: [Patch, avr] Remove atxmega16x1 from device list

2014-03-03 Thread Denis Chertykov
2014-03-03 13:41 GMT+04:00 Senthil Kumar Selvaraj senthil_kumar.selva...@atmel.com: The atxmega16x1 AVR variant doesn't exist, but the device name got into the device list in gcc/config/avr/avr-mcus.def. This patch removes the non-existent device. If ok, could someone commit please? I don't

Re: [patch,avr] Device specific instructions support for avr

2014-03-03 Thread Denis Chertykov
2014-03-03 13:34 GMT+04:00 S, Pitchumani pitchuman...@atmel.com: Hi, Few AVR Xmega devices have specific instruction support than the architecture it belongs to. For example atxmega128b1 device has RMW instructions (XCH,LAC, LAS and LAT) support, but not all avrxmega6 devices have. Now,

[AVR] remove two maintainers

2014-03-02 Thread Denis Chertykov
I would remove two maintainers for AVR port: 1. Anatoly Sokolov ae...@post.ru 2. Eric Weddington eric.wedding...@atmel.com I have discussed the removal with Anatoly Sokolov and he is agree with it. I can't discuss the removal with Eric Weddington because his mail address invalid. Must somebody

Re: RFA: fix compile/pr17906.c / compile/pr35432.c -O3 -g ICEs

2014-02-22 Thread Denis Chertykov
2014-02-19 19:15 GMT+04:00 Joern Rennecke joern.renne...@embecosm.com: When compiling compile/pr17906.c, compute_frame_pointer_to_fb_displacement passes the argument pointer to eliminate_regs. This eliminates it to the frame pointer, which later causes and ICE because frame_pointer_needed is

Re: wide-int, avr

2013-12-03 Thread Denis Chertykov
2013/11/23 Mike Stump mikest...@comcast.net: Richi has asked the we break the wide-int patch so that the individual port and front end maintainers can review their parts without have to go through the entire patch.This patch covers the avr port. Ok? Ok. Excuse my long delay. I was on

Re: [Ping, avr] Emit diagnostics if -f{pic,PIC,pie,PIE} or -shared is passed

2013-12-03 Thread Denis Chertykov
2013/11/18 Senthil Kumar Selvaraj senthil_kumar.selva...@atmel.com: Ping! Regards Senthil On Mon, Nov 04, 2013 at 06:45:19PM +0530, Senthil Kumar Selvaraj wrote: The AVR backend does not generate position independent code, yet it happily accepts -fpic, -fPIC, -fpie and -fPIE. The generated

Re: [avr] Use unsigned int rather than double_int for insert_bits

2013-11-03 Thread Denis Chertykov
2013/11/3 Richard Sandiford rdsandif...@googlemail.com: The __builtin_avr_insert_bits code uses a double_int to handle the mask, but AIUI the mask has exactly 32 bits. Is that right? If so, would it be OK to use unsigned int instead? I realise this might seem like pointless churn, but it

Re: RFA: fix some avr stdint issues

2013-08-26 Thread Denis Chertykov
2013/8/26 Joern Rennecke joern.renne...@embecosm.com: This patch fixes the gcc.dg/c99-stdint-5.c and gcc.dg/c99-stdint-6.c excess error failures. Tested for atmega128-sim. OK to apply? 2013-05-26 Joern Rennecke joern.renne...@embecosm.com * config/avr/avr-stdint.h

Re: RFA: fix avr gcc.dg/fixed-point/convert-accum-neg.c execution failure

2013-08-26 Thread Denis Chertykov
2013/8/26 Joern Rennecke joern.renne...@embecosm.com: The gcc.dg/fixed-point/convert-accum-neg.c execution test fails for avr because for fractional integer to accumulator / integer conversions, the avr target rounds towards -infinity, whereas we are supposed to round towards 0. The attached

Re: RFA: testsuite patches (2/6): [avr]: Set required branch cost for gcc.dg/tree-ssa/vrp87.c

2013-08-19 Thread Denis Chertykov
2013/8/19 Joern Rennecke joern.renne...@embecosm.com: We need a minimum branch cost of 2 to make the expected optimization happen. Tested for avr with --target_board=atmega128-sim and native on i686-pc-linuc-gnu. Ok to apply? 2013-08-16 Joern Rennecke joern.renne...@embecosm.com

Re: RFA: AVR: Support building AVR Linux targets

2013-08-12 Thread Denis Chertykov
2013/8/12 Nick Clifton ni...@redhat.com: Hi Dennis, Hi Anatoly, Hi Eric, I have run into a small problem building GCC for an AVR Linux target - glibc-c.o is not being built. It turns out that the section handling avr-*-* in the config.gcc file is redefining tmake_file without

Re: [patch,avr] Fix PR57506: Remove duplicate devices from avr-mcus.def

2013-07-10 Thread Denis Chertykov
2013/7/10 Georg-Johann Lay a...@gjlay.de: Several devices are duplicate in avr-mcus.def. This patch removes the duplicate versions and adds a sanity check to gen-avr-mmcu-texi.c. Ok to apply? Johann PR target/57506 * config/avr/avr-mcus.def (atmega16hva, atmega16hva2,

Re: [patch,avr] Fix PR57844

2013-07-10 Thread Denis Chertykov
2013/7/10 Georg-Johann Lay a...@gjlay.de: The problem with this PR is that -size is used as addend in avr_prologue_setup_frame instead of truncating it to the mode of the operation. Fix as obvious. Ok for trunk and backport? Johann PR target/57844 * config/avr/avr.c

Re: [patch,avr] Fix PR57631: Check ISR's asm name rather than C name

2013-07-10 Thread Denis Chertykov
2013/7/10 Georg-Johann Lay a...@gjlay.de: This change has been proposed so that the sanity checking of ISR (signal,interrupt) functions tests the asm function name if available, not the C name. Okay to apply? Johann gcc/ PR target/57631 * config/avr/avr.c

Re: Inter register constraints

2013-07-05 Thread Denis Chertykov
2013/7/5 Paulo Matos pma...@broadcom.com Hi, I am convinced that what I am about to ask is not possible but I would like someone to confirm this. Can I define in an insn a register constraint that depends on another register value? So, for (set (match_operand:SI 0 register_operand r)

Re: RFA: fix avr compile/limits-externdecl.c failures

2013-05-14 Thread Denis Chertykov
2013/5/13 Joern Rennecke joern.renne...@embecosm.com All the gcc.c-torture/compile/limits-externdecl.c currently give an error: size of array is too large, followed by an ICE in avr_encode_section_info, which goes on to try to find the address space of error_mark_node. Given the size of the

Re: [Patch,AVR]: Fix PR56263

2013-03-12 Thread Denis Chertykov
2013/3/11 Georg-Johann Lay a...@gjlay.de: This patch implements a new warning option -Waddr-space-convert warns about conversions to a non-containing address space. Address spaces are implemented in such a way that each address space is contained in each other space so that casting is

Re: [Patch,avr]: Speed up 64-bit shifts in libgcc

2013-03-04 Thread Denis Chertykov
2013/3/4 Georg-Johann Lay a...@gjlay.de: This patch fixed the speed of 64-bit shifts and rotate. These operations were implemented by bit-wise shifts and thus the speed is not reasonable for such basic arithmetic. The new implementation first shifts byte-wise and only the remaining mod 8 is

Re: Ping: [Patch,avr]: Add more devices take #2: 2/2

2013-02-24 Thread Denis Chertykov
2013/2/19 Georg-Johann Lay a...@gjlay.de: CCing Richard in case this needs RM approval (I don't think so because the patch just changes ternary parts). Ping #1 for: http://gcc.gnu.org/ml/gcc-patches/2013-02/msg00579.html Georg-Johann Lay schrieb: And here 2/2 with the device - arch

Re: [Patch,avr]: ad PR54222: Add saturated multiply

2013-02-12 Thread Denis Chertykov
2013/2/11 Georg-Johann Lay a...@gjlay.de: This patch adds optimized support for (short) (un)signed _Sat _Accum multiplication (HA, UHA, SA, USA). The 32-bit multiply uses 64 = 32 * 32 widening multiplication. As a spin-off, the widening mul is available as [u]mulsidi3 default pattern.

Re: [Patch,avr] Ad PR 54222: Add roundfx, countlsfx to stdfix.h

2013-02-07 Thread Denis Chertykov
2013/2/7 Georg-Johann Lay a...@gjlay.de: This patch adds more fixed-point features from embedded-C: - roundfx rounding functions - countlsfx bit counting functions - add implementations of builtins so that an implementation / symbol is available when the address of such a function is taken

Re: [Patch,avr] Remove fixed-point MUL and DIV routines from libgcc build

2013-01-28 Thread Denis Chertykov
2013/1/28 Georg-Johann Lay a...@gjlay.de: This removes modules from libgcc that are already supported by avr-specific fixed-point implementation and avoids duplicate functions like __mulsa3. Ok for trunk? Johann libgcc/ * config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add:

Re: [patch,avr]: Ad PR54222: Support absolute value functions to stdfix.h

2013-01-24 Thread Denis Chertykov
2013/1/24 Georg-Johann Lay a...@gjlay.de: This patch adds the absolute value functions to stdfix.h. DEF_BUILTIN gets one more argument LIBNAME that sets the library name. If no folding is found, for some builtins it's more convenient to call libgcc support directly instead of expanding to

Re: [patch,avr] Ad PR54222: Add bitsfx and fxbits to stdint.h

2013-01-21 Thread Denis Chertykov
2013/1/21 Georg-Johann Lay a...@gjlay.de: This adds the Embedded C bitsfx and fxbits functions to stdfix.h. The original stdfix.h is installed as stdfix-gcc.h and included by the new, avr-specific stdfix.h. The implementation uses __builtin_memcpy to get a no-op implementation. Ok for

Re: [Patch,avr] PR55243: Mistimed use of STAMP in Ada build

2013-01-07 Thread Denis Chertykov
2013/1/7 Georg-Johann Lay a...@gjlay.de: This patch is a rewrite of t-avr so that STAMP is not needed. Ada triggers a mistimed re-build of targets using STAMP which causes PR55243 because the respective places in gnattools ada/gcc-interface don't set STAMP. With this patch, files that were

Re: [Patch,avr] PR55897: Allocate __memx to .progmemx.data

2013-01-07 Thread Denis Chertykov
2013/1/7 Georg-Johann Lay a...@gjlay.de Currently, data in address space __memx is allocated to .progmem.data, i.e. the same section as for __flash resp. progmem. However, there os no need that __memx goes onto the same section and wastes precious memory in the first 64 Ki. The patch

Re: [patch,avr] Ad PR54222: Move decimal point of signed accum one bit right.

2012-11-21 Thread Denis Chertykov
2012/11/21 Georg-Johann Lay a...@gjlay.de: This patch restores the GCC default layout of HA, SA and DA mode. The original fixed point support tried to be binary compatible with fixed-point support already provided by some non-FSF ports, but that turned out to result in wrong code in some

Re: [Patch,avr] Tidy up avr_extra_arch_macro

2012-10-17 Thread Denis Chertykov
2012/10/17 Georg-Johann Lay a...@gjlay.de: avr_extra_arch_macro is not really needed, it just holds avr_current_device-macro. Thus, this tiny tidy up. Ok for trunk? Johann * config/avr/avr-arch.h (avr_extra_arch_macro): Remove prototype. * config/avr/avr.c

Re: [Patch,avr]: Remove -mshort-calls option

2012-10-06 Thread Denis Chertykov
2012/10/5 Georg-Johann Lay a...@gjlay.de: As already discussed, this patch removes the -mshort-calls command option from avr-gcc. Ok to apply? If the change is on order, changes to wwwdocs will follow, i.e. deprecate the option in 4.7 and tell it is removed in the 4.8 caveats. Johann

Re: [Patch,avr]: Ad PR rtl-optimization/52543: Undo the MEM-UNSPEC hack

2012-10-01 Thread Denis Chertykov
2012/9/30 Georg-Johann Lay a...@gjlay.de: Denis Chertykov wrote: I have tried to use secondary a few years ago (may be 5 or 7). I have definitely remember only one thing: secondary reload should be avoided as long as possible. Currently each mov has to be decorated with moving the segment

Re: [Patch,avr]: Ad PR rtl-optimization/52543: Undo the MEM-UNSPEC hack

2012-09-30 Thread Denis Chertykov
2012/9/30 Georg-Johann Lay a...@gjlay.de: Denis Chertykov schrieb: Georg-Johann Lay: PR52543 required to represent a load from non-generic address spaces as UNSPEC instead of as MEM to avoid a gross code bloat. http://gcc.gnu.org/PR52543 lower-subreg's cost model is still broken

Re: [Patch,avr]: Ad PR rtl-optimization/52543: Undo the MEM-UNSPEC hack

2012-09-28 Thread Denis Chertykov
2012/9/27 Georg-Johann Lay a...@gjlay.de: PR52543 required to represent a load from non-generic address spaces as UNSPEC instead of as MEM to avoid a gross code bloat. http://gcc.gnu.org/PR52543 lower-subreg's cost model is still broken: It assumes that any loads from MEM are from the

Re: [Patch,avr] Fix canadian cross build fail

2012-09-17 Thread Denis Chertykov
2012/9/15 Georg-Johann Lay a...@gjlay.de: Canadian cross build fails because the wrong compiler is used to compile gen-avr-mmcu-texi. This small tool must run on build and not on host, thus the right compiler is CC_FOR_BUILD. Just changing the compiler is not enough because files like

Re: [middle-end] Add machine_mode to address_cost target hook

2012-09-05 Thread Denis Chertykov
2012/9/5 Oleg Endo oleg.e...@t-online.de: Updated ACK table: [x] target-independent bits [ ] alpha [x] arm [ ] avr [ ] bfin [ ] cr16 [x] cris [x] epiphany[ ] i386 [ ] ia64 [x] iq2000[ ] lm32[ ] m32c [x] m32r [x] mcore [ ] mep

Re: [Patch,avr] PR54461: Better AVR-Libc integration

2012-09-04 Thread Denis Chertykov
2012/9/4 Joerg Wunsch j...@uriah.heep.sax.de: As Georg-Johann Lay wrote: What do you propose? I'm fine with that option, and think it's a good idea. I have not objections against the patch. Denis

Re: [Patch,avr] Fix PR54220

2012-09-04 Thread Denis Chertykov
2012/9/3 Georg-Johann Lay a...@gjlay.de: This implements TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS as obvious fix for PR54220. Ok to install? Johann PR target/54220 * config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New define to...

Re: [avr]: Disable libquadmath

2012-09-03 Thread Denis Chertykov
2012/9/3 Georg-Johann Lay a...@gjlay.de: This patch disables libquadmath. 128 bit wide floats are not really sensible on avr. Ok for trunk? Ok. Please commit. Denis

Re: [Patch,AVR] PR54222: Add fixed point support

2012-08-24 Thread Denis Chertykov
2012/8/23 Georg-Johann Lay a...@gjlay.de: Denis Chertykov wrote: 2012/8/13 Georg-Johann Lay: Denis Chertykov wrote: 2012/8/11 Georg-Johann Lay: Weddington, Eric schrieb: From: Georg-Johann Lay The first step would be to bisect and find the patch that lead to PR53923. It was not a change

Re: [Patch,AVR] PR54222: Add fixed point support

2012-08-21 Thread Denis Chertykov
2012/8/13 Georg-Johann Lay a...@gjlay.de: Denis Chertykov wrote: 2012/8/11 Georg-Johann Lay a...@gjlay.de: Weddington, Eric schrieb: From: Georg-Johann Lay The first step would be to bisect and find the patch that lead to PR53923. It was not a change in the avr BE, so the question goes

Re: [PATCH] Fix AVR fallout

2012-08-19 Thread Denis Chertykov
2012/8/18 Jan-Benedict Glaw jbg...@lug-owl.de: Hi! I see these warnings/errors right now: g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long

Re: [Patch,AVR] PR54222: Add fixed point support

2012-08-12 Thread Denis Chertykov
2012/8/11 Georg-Johann Lay a...@gjlay.de: Weddington, Eric schrieb: From: Georg-Johann Lay The first step would be to bisect and find the patch that lead to PR53923. It was not a change in the avr BE, so the question goes to the authors of the respective patch. Up to now I didn't even

Re: [patch]: Fix PR53595 (hard_regno_call_part_clobbered called with invalid regno)

2012-06-28 Thread Denis Chertykov
2012/6/28 Georg-Johann Lay a...@gjlay.de: This patch returns false in HARD_REGNO_CALL_PART_CLOBBERED if !HARD_REGNO_MODE_OK. Returning true for such registers might lead to performance degradation that eat up all performance gained from 4.6 to 4.7 for example. Ok to apply? Johann      

Re: [Patch,AVR]: Fix PR53448: ignored aligned(2)

2012-05-23 Thread Denis Chertykov
2012/5/23 Georg-Johann Lay a...@gjlay.de: Sometimes, even on AVR there is the need to align data. However, alignments of 2 are ignored at the moment because of #define ASM_OUTPUT_ALIGN(STREAM, POWER)                 \  do {                                                  \    if ((POWER)

Re: [Patch,AVR]: ad PR49868: assemble 3-byte symbols

2012-05-14 Thread Denis Chertykov
2012/5/11 Georg-Johann Lay a...@gjlay.de: Currently avr_assemble_integer emits an assembler warning to make gas complain about missing feature http://sourceware.org/PR13503 if a 3-byte address must be assembled. As PR13503 is implemented now, avr-gcc can use this feature. It's only

Re: [Patch,AVR,trunk,4.7]: Implement PR53256

2012-05-09 Thread Denis Chertykov
2012/5/7 Georg-Johann Lay a...@gjlay.de: AVR-LibC switched from using either signal /or/ interrupt function attribute to using both at the same time. This was never documented or implemented but worked accidentally for some time, but results in wrong code for 4.7+ This patch adds better

Re: [Patch,avr,trunk,4.7]: Fix PR53065

2012-04-24 Thread Denis Chertykov
2012/4/24 Georg-Johann Lay a...@gjlay.de: This implements HARD_REGNO_CALL_PART_CLOBBERED. Ok to apply? Johann        PR target/53065        * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): New hook define. Please commit. Denis.

Re: [Patch,AVR]: Auto-generate all -mmcu= options in documentation.

2012-04-17 Thread Denis Chertykov
2012/4/16 Georg-Johann Lay a...@gjlay.de: This patch adds a new file ./gcc/doc/avr-mmcu.texi that lists all valid -mmcu= settings and replaces the respective text in invoke.texi by @include avr-mmcu.texi Up to now, there is no complete list of -mmcu= options, and a list is hard to maintain

Re: [Patch,avr] PR51345: Restore -mtiny-stack semantics

2012-03-27 Thread Denis Chertykov
2012/3/27 Georg-Johann Lay a...@gjlay.de: This patch fixes a problem with the -mtiny-stack option: Architectures avr2 and avr25 mix targets with 8-bit SP and 16-bit SP so that -mtiny-stack is no good for multilib selection: If a frame pointer has to be set up from an 8-bit SP it is a

Re: [Patch,avr]: PR target/52692: Imlpement TARGET_BUILTIN_DECL

2012-03-26 Thread Denis Chertykov
2012/3/26 Georg-Johann Lay a...@gjlay.de: This implements TARGET_BUILTIN_DECL which is needed to make LTO work with target-specific built-ins. struct avr_builtin_description gets a new field .fndecl which is initialized during avr_init_builtins and looked up in new hook avr_builtin_decl.

Re: Ping #1: [Patch,AVR]: Hack around PR rtl-optimization/52543

2012-03-19 Thread Denis Chertykov
2012/3/19 Georg-Johann Lay a...@gjlay.de: http://gcc.gnu.org/ml/gcc-patches/2012-03/msg00641.html Georg-Johann Lay wrote: The problem with the PR is that lower-subreg.c happily splits multi-byte moves from address spaces without knowing anything about the additional costs this is

Re: [Patch,AVR]: Fix PR52488 (insane stack usage)

2012-03-13 Thread Denis Chertykov
2012/3/12 Georg-Johann Lay a...@gjlay.de ...and now to the right mailing list... This patch cuts down insane stack offsets for 8-bit SP targets to a value the involved insns can handle. Background is that newlib generates such insane offsets (2050 bytes of stack for a device with 128

Re: [Patch,AVR] Fix PR52505

2012-03-06 Thread Denis Chertykov
2012/3/6 Georg-Johann Lay a...@gjlay.de This is fix for __memx address space reads that might read from RAM or flash. For flash reads, never read from RAM so that I/O latches don't get read out unintentionally. Ok for trunk? Johann libgcc/        PR target/52505        *

Re: [Patch,AVR]: Fix PR52507

2012-03-06 Thread Denis Chertykov
2012/3/6 Georg-Johann Lay a...@gjlay.de: This fixes a wrong loop label in the movmemhi worker for the __memx address space case. Ok for trunk? Johann        PR target/52507        * config/avr/lib1funcs.S (__movmemx_hi): Fix loop label in RAM-part. Approved. Denis.

Re: [Patch,AVR]: Fix PR52506

2012-03-06 Thread Denis Chertykov
2012/3/6 Georg-Johann Lay a...@gjlay.de: The problem is that RAMPD/X/Y/Z are restored in the wrong order in ISR epilogue. Ok for trunk? Johann        PR target/52506        * gcc/config/avr/avr.c (expand_epilogue): Fix order of restoration        to: RAMPZ, RAMPY, RAMPX, RAMPD.        

Re: [Patch,AVR]: Tweak decrement-and-branch peepholes

2012-02-29 Thread Denis Chertykov
2012/2/29 Georg-Johann Lay a...@gjlay.de: The condition/branch in decrement-and-branch peepholes is ne/brcc. This can be generalized to cover eq/brcs. Tested without regressions. Because of PR52417, I had to run the tests with -fno-dse. There is one UNSUPPORTED because of that (missing dse

Re: [Patch,AVR]: Clean-up printing bits

2012-02-29 Thread Denis Chertykov
2012/2/29 Georg-Johann Lay a...@gjlay.de: This is more of code clean-up: avr_output_bld is unused and can be removed. To print a bit it is more convenient to use %T than patching a string. Ok for trunk? Johann        * config/avr/avr-protos.h (avr_output_bld): Remove unused prototype.    

Re: [Patch,AVR] Clean-up: Move TARGET macros to end of avr.c

2012-02-29 Thread Denis Chertykov
2012/2/29 Georg-Johann Lay a...@gjlay.de: This patch moves the bulk of TARGET_* macros to the end of avr.c and just prior to their usage by TARGET_INITIALIZER to initialize targetm. It's just more convenient to have that bulk of code at the end of the file... Ok to commit? Johann      

Re: [Patch,AVR]: ASM_SPEC: Add -mno-skip-bug

2012-02-28 Thread Denis Chertykov
2012/2/28 Georg-Johann Lay a...@gjlay.de: This patch is addendum to support skip of 2-word instructions as of PR49939 and the extension made in http://gcc.gnu.org/viewcvs?view=revisionrevision=177049 gas emits a warning if it sees a skip of 2-word instruction for cores that might have the

Re: Ping #1: [Patch,AVR] Fix/hack around spill fail ICE PR52148

2012-02-25 Thread Denis Chertykov
2012/2/24 Georg-Johann Lay a...@gjlay.de: http://gcc.gnu.org/ml/gcc-patches/2012-02/msg00956.html Georg-Johann Lay wrote: Spill failure PR52148 occurs for movmem insn that allocates 2 of AVR's 3 pointer registers. Register allocator is at it's limits and the patch tries to cure the

Re: Ping #1: [Patch,AVR]: Add builtins.def and fix some ICE, add tests

2012-02-25 Thread Denis Chertykov
2012/2/24 Georg-Johann Lay a...@gjlay.de: http://gcc.gnu.org/ml/gcc-patches/2012-02/msg00843.html Georg-Johann Lay wrote: This patch introduces a new file builtins.def that is used as central registry to hold built-ins' information. The file is used by defining DEF_BUILTIN macre and then

Re: Ping #1: [Patch,AVR] Fix/hack around spill fail ICE PR52148

2012-02-25 Thread Denis Chertykov
2012/2/25 Georg-Johann Lay a...@gjlay.de: [...] The pattern for the address spaces is now as simple as ;; $0    : Address Space ;; $1    : RAMPZ RAM address ;; R24   : #bytes and loop register ;; R23:Z : 24-bit source address ;; R26   : 16-bit destination address ;; movmemx_qi ;;

Re: [Patch,AVR]: Fix PR50063 GCC does not support FP = SP

2012-02-21 Thread Denis Chertykov
2012/2/21 Richard Henderson r...@redhat.com: On 02/21/12 09:08, Georg-Johann Lay wrote:       PR rtl-optimization/50063       * config/avr/avr.md (movhi_sp_r): Handle -1 (unknown IRQ state)       and 2 (8-bit SP) in operand 2.       * config/avr/avr.c (avr_prologue_setup_frame): Adjust

Re: [Patch,AVR]: avr.c code clean-up

2012-01-31 Thread Denis Chertykov
2012/1/31 Georg-Johann Lay a...@gjlay.de: Denis Chertykov wrote:        * config/avr/avr.md: Resolve all AS1 and AS2 macros.        Transform all * quoted-c-code to { c-code }.        Remove redundant test for optimize in combine patterns.        Move (include avr-dimode.md) to end of file

Re: [Patch,AVR]: avr.c code clean-up

2012-01-31 Thread Denis Chertykov
2012/1/31 Georg-Johann Lay a...@gjlay.de: Denis Chertykov wrote:        * config/avr/avr.md: Resolve all AS1 and AS2 macros.        Transform all * quoted-c-code to { c-code }.        Remove redundant test for optimize in combine patterns.        Move (include avr-dimode.md) to end of file

Re: [Patch,AVR]: avr.md code clean-up

2012-01-30 Thread Denis Chertykov
2012/1/30 Georg-Johann Lay a...@gjlay.de: This is code clean-up for avr.md. * It resolves all AS1 and AS2 macros for string insertion.  There are plan strings now and no more needed because: * All deprecated * quoted-c-code transformed to { c-code }.  so that avr.md matches

Re: [Patch,AVR]: Better support CPSE (a bit)

2012-01-27 Thread Denis Chertykov
2012/1/27 Georg-Johann Lay a...@gjlay.de: This patch aims at better support of CPSE instruction in cases where otherwise code like     TST   Rn     ; *cmpqi     BREQ  .+2    ; branch     RJMP  .Lm would be produced.  As branch is not a single instruction, it cannot be skipped. peephole

Re: [Patch,docs,AVR,M32C, RL78, SPU]: Describe AVR address spaces and more AVR options

2012-01-19 Thread Denis Chertykov
2012/1/19 Georg-Johann Lay a...@gjlay.de: Georg-Johann Lay wrote: This is basically documentation of AVR specific extensions and stuff like * command line options like -maccumulate-args etc. * AVR named address spaces Section doc/extend.texi::Named Address Spaces is split into several

Re: [PATCH, AVR] Fix PR target/50925, use hard_frame_pointer_rtx

2012-01-14 Thread Denis Chertykov
2012/1/14 Denis Chertykov cherty...@gmail.com: 2012/1/13 Georg-Johann Lay a...@gjlay.de: Denis Chertykov wrote: Committed Denis Consider code prom PR51374 void __vector_18 (void) {    extern char slot;    unsigned char status = (*(volatile unsigned char*) 0x2B);    unsigned char

Re: [PATCH, AVR] Fix PR target/50925, use hard_frame_pointer_rtx

2012-01-13 Thread Denis Chertykov
2012/1/13 Georg-Johann Lay a...@gjlay.de: Denis Chertykov wrote: Georg-Johann Lay: Denis Chertykov schrieb: 2) Can we remove from avr.c:avr_option_override() the following:   if (avr_strict_X)     flag_caller_saves = 0;   that hacked around similar spill fails? 3) As PR50775 is fixed

Re: [PATCH, AVR] Fix PR target/50925, use hard_frame_pointer_rtx

2012-01-13 Thread Denis Chertykov
2012/1/13 Georg-Johann Lay a...@gjlay.de: Denis Chertykov wrote: Committed Denis Consider code prom PR51374 void __vector_18 (void) {    extern char slot;    unsigned char status = (*(volatile unsigned char*) 0x2B);    unsigned char data = (*(volatile unsigned char*) 0x2C

Re: [Patch,AVR] Fix PR51756

2012-01-12 Thread Denis Chertykov
2012/1/12 Georg-Johann Lay a...@gjlay.de: This PR prints a false warning because missing DECL_EXTERNAL test in avr_encode_section_info that checks if progmem variables come with initializer or not. Ok for trunk?        PR target/51756        * config/avr/avr.c (avr_encode_section_info):

Re: [PATCH, AVR] Fix PR target/50925, use hard_frame_pointer_rtx

2012-01-12 Thread Denis Chertykov
2012/1/9 Denis Chertykov cherty...@gmail.com: Hi Georg. I have found that conversion AVR port to using hard_frame_pointer have resolved PR 50925 . I have tested the patch without regressions, but I'm worry about it. Can you test it with your testsuite for regressions ? May be you have your

Re: [PATCH, AVR] Fix PR target/50925, use hard_frame_pointer_rtx

2012-01-12 Thread Denis Chertykov
2012/1/13 Georg-Johann Lay a...@gjlay.de: Denis Chertykov schrieb: Committed Denis Some questions regarding the fix: 1) You know if PR42204 is still relevant and can be closed?   Or is it not related to PR50925? The PR42204 is a duplicate of PR50925 or vice versa. But, I'm not sure

[PATCH, AVR] Fix PR target/50925, use hard_frame_pointer_rtx

2012-01-09 Thread Denis Chertykov
) ? 2012-01-09 Richard Henderson r...@redhat.com Denis Chertykov cherty...@gmail.com PR target/50925 * config/avr/avr-protos.h (avr_hard_regno_nregs): Declare. * config/avr/avr.c (avr_can_eliminate): Simplify. (avr_initial_elimination_offset): Likewise

Re: [Patch,AVR]: ad PR49868: Extend __pgmx semantics to flatten memory

2012-01-09 Thread Denis Chertykov
2012/1/10 Georg-Johann Lay a...@gjlay.de: This patch extends the semantics of 24-bit __pgmx address space qualifier to cover RAM and Flash. RAM is represented by setting the high byte of 24-bit address to 0x80. The code to read from 24-bit address space decides at runtime what instruction

Re: [Patch,AVR]: Cleanup avr_replace_prefix

2012-01-04 Thread Denis Chertykov
2012/1/4 Georg-Johann Lay a...@gjlay.de: This removes avr_replace_prefix and rewrites the callers to use ACONCAT. Passes without regressions. Ok for trunk? Johann        * config/avr/avr.c (avr_replace_prefix): Remove.        (avr_asm_named_section): Use ACONCAT instead of

Re: [Patch,AVR]: Fix loading ZERO_REG with 0 in ISR prologue

2012-01-02 Thread Denis Chertykov
2012/1/2 Georg-Johann Lay a...@gjlay.de: This is fix for ISR prologue that cleared zero reg with  mov __zero_reg__,__zero_reg__ The right way is  clr __zero_reg__ of course. As CLR does change cc0 notice_update_cc needs to be adapted. Passes testsuite. Moreover, lightly tested on ISR

Re: Ping #2: [Patch,AVR] Light-weight DImode implementation.

2011-12-25 Thread Denis Chertykov
2011/12/15 Georg-Johann Lay a...@gjlay.de: http://gcc.gnu.org/ml/gcc-patches/2011-12/msg00471.html Georg-Johann Lay wrote: Georg-Johann Lay wrote: Denis Chertykov wrote: The only question that remains is what the -m64 option should be like? [ ] Omit it altogether [ ] Leave it as is (off

Re: [Patch,AVR] Fix PR51050: Invalid RTL sharing of fp

2011-12-15 Thread Denis Chertykov
2011/12/15 Georg-Johann Lay a...@gjlay.de: This is fix for the RP. Is uses (reg:QI 28) instead of building SUBREG of frame pointer. Johann        PR target/51050        * config/avr/avr.c (expand_epilogue): Don't build SUBREG of fp.        (avr_prologue_setup_frame): Ditto. Approved.

Re: GCC 4.7 Status Report for *-rtems

2011-12-13 Thread Denis Chertykov
2011/12/13 Joel Sherrill joel.sherr...@oarcorp.com: Hi, From an RTEMS perspective, the head has multiple regressions from the 4.6 branch. avr, bfin, lm32 and m68k have regressions such that they are incapable of compiling a complete tool chain. This means they fail to compile gcc, newlib, or

Re: [Patch,AVR] ad PR50931: Implement mulpsi3

2011-12-13 Thread Denis Chertykov
2011/12/13 Georg-Johann Lay a...@gjlay.de: This adds missing 24-Bit multiplication. Besides implementing __mulpsi3 in libgcc the patch adds some minor tweaks to multiply with small numbers and to represent the reduced register footprint of asm implementations. With this patch PR50931 is

Re: [Path,AVR]: Implement __muldi3 in asm

2011-12-08 Thread Denis Chertykov
2011/12/8 Georg-Johann Lay a...@gjlay.de: This are assembler implementations for Dimode multiplication. Tested without regressions, the only change in the test suite I get is for gcc.c-torture/execute/arith-rand-ll.c execution,  -O0 UNTESTED - PASS because the former vanilla C

Re: [Patch,AVR]: Fix PR51425

2011-12-08 Thread Denis Chertykov
2011/12/8 Georg-Johann Lay a...@gjlay.de: This is obvious patch for PR51425: SBIC/SBRC instructions are generated by insn combine, but insn combine tries zero_extract:QI not zero_extract:HI as  in good old times. Thus, use QIHI iterator. Besides fixing this optimization flaw, it enables

Re: [Patch,AVR] Was/Fix: error linking lto1 for target avr

2011-12-06 Thread Denis Chertykov
2011/12/6 Georg-Johann Lay a...@gjlay.de: Denis Chertykov wrote: 2011/11/29 Georg-Johann: Ian Lance Taylor wrote: Georg-Johann Lay: So if a frontend can define address spaces and it is a generic feature, the question is how to get the name of an address space in a generic, language

<    1   2   3   4   >