--- Additional Comments From andrewhutchinson at cox dot net 2005-03-27
14:33 ---
The problem here is that gcc is using a DImode register to handle 6 byte
(int+long) structure. Why I have no idea!
Since the target has no insn for DI move, gcc turns this into individual QImode
byte
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: andrewhutchinson at cox dot net
CC: gcc-bugs at gcc dot
--- Additional Comments From andrewhutchinson at cox dot net 2005-03-12
21:20 ---
(In reply to comment #18)
(In reply to comment #17)
I think it is always true but the original used the same predicate and test (so
I played safe).
The pattern only helps if it is a constant. I also
--- Additional Comments From andrewhutchinson at cox dot net 2005-03-13
01:19 ---
Subject: Re: unable to find a register to spill in class
`POINTER_REGS'
The concerns have merit but can be discounted:.
The reload problem occurs because the original pattern demands two
pointers
--- Additional Comments From andrewhutchinson at cox dot net 2005-03-13
02:44 ---
Subject: Re: unable to find a register to spill in class
`POINTER_REGS'
This is a define EXPAND. predicates (such as const_int_operand) and
pattern have no effect at all on generated code or matching
--- Additional Comments From andrewhutchinson at cox dot net 2005-03-13
04:05 ---
Subject: Re: unable to find a register to spill in class
`POINTER_REGS'
You answered your own question. GCC handles variable moves just like
anything else. Dealing with range of possible values
--- Additional Comments From andrewhutchinson at cox dot net 2005-03-03
01:57 ---
This is almost certainly caused by code peepholes doing last minute optimisation
of the code just before the assembler is generated.
Prior to that, all RTL instructions have a length (in 16 bit words
: UNCONFIRMED
Severity: normal
Priority: P2
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: andrewhutchinson at cox dot net
CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: avr
http://gcc.gnu.org/bugzilla
--- Additional Comments From andrewhutchinson at cox dot net 2005-02-22
12:31 ---
Subject: Re: unable to find a register to spill in class
`POINTER_REGS'
if you can wait 12hrs I'll create 3.4 version.
Alternatively cut n paste from a 4.0 avr.md
the change is local to one area
--- Additional Comments From andrewhutchinson at cox dot net 2005-02-12
13:50 ---
A sub-optimal fix is to disable movmemhi expansion. Either delete it or the less
draconian:
(define_expand movmemhi
[(parallel [(set (match_operand:BLK 0 memory_operand
.
--
Summary: [AVR] MODES_TIEABLE incorrect
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: andrewhutchinson at cox dot net
--- Additional Comments From andrewhutchinson at cox dot net 2005-02-12
15:35 ---
Created an attachment (id=8186)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8186action=view)
Patch to chnage MODES_TIEABLE
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19924
--- Additional Comments From andrewhutchinson at cox dot net 2005-02-13
02:07 ---
Try patch attached to PR 18251. Good chance it will fix.
If not, pass me the source for a llok at.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19636
--
What|Removed |Added
CC||andrewhutchinson at cox dot
||net
http://gcc.gnu.org/bugzilla
: andrewhutchinson at cox dot net
CC: gcc-bugs at gcc dot gnu dot org
GCC host triplet: cygwin
GCC target triplet: avr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19835
--- Additional Comments From andrewhutchinson at cox dot net 2005-02-08
01:48 ---
I ran testcase with proposed avr_costs patch applied. The result is unchanged.
The initially generated RTL is unfortunately beyond that which can be fixed by
backend. I dont think this problem is avr
--- Additional Comments From andrewhutchinson at cox dot net 2005-02-08
02:12 ---
Bad post ignore
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18219
Severity: minor
Priority: P2
Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: andrewhutchinson at cox dot net
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19815
--- Additional Comments From andrewhutchinson at cox dot net 2005-02-06
23:06 ---
Taking X as the initial value of x on function entry.
The loop is defined as i=X to 0, step -1. Which is a simple do loop.
It gets optimized as i=0 to -X, step -1. (Which is something bizarre!)
The code
ReportedBy: andrewhutchinson at cox dot net
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19703
--- Additional Comments From andrewhutchinson at cox dot net 2005-01-30
04:58 ---
Subject: Re: Poor optimisation of loop test
I am not sure what makes you think that. Compare with ZERO is
invariabley cheaper than compare with n.
The former is free sign status following any
gnu dot org
ReportedBy: andrewhutchinson at cox dot net
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19676
--- Additional Comments From andrewhutchinson at cox dot net 2005-01-28
19:12 ---
Created an attachment (id=8092)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8092action=view)
Testcase c source
Testloop3() is NOT reversed. Others for reference are.
--
http://gcc.gnu.org
--- Additional Comments From andrewhutchinson at cox dot net 2005-01-28
19:13 ---
Created an attachment (id=8093)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8093action=view)
Expanded RTL
Expanded RTL from looprv testcase source
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id
--- Additional Comments From andrewhutchinson at cox dot net 2005-01-28
19:14 ---
Created an attachment (id=8094)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8094action=view)
Optimised RTL
Final Optimised RTL before asm code generation.
--
http://gcc.gnu.org/bugzilla
--- Additional Comments From andrewhutchinson at cox dot net 2005-01-28
20:15 ---
Subject: Re: Loop optimizer fails to reverse
simple loop
GCC 3.3.1 did reverse testloop3 but not testloop2() or testloop(4). So
4.0 gets 4/5 right an 3.3.1 3/5 right.
Its complicated by other
--- Additional Comments From andrewhutchinson at cox dot net 2004-12-25
02:33 ---
Problem still present on gcc (GCC) 4.0.0 20041205 (experimental) SNAPSHOT *sigh*
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14151
27 matches
Mail list logo