Re: GCC Port (gcc backend) for Microchip PICMicro microcontroller

2006-04-10 Thread Rask Ingemann Lambertsen
Even a pushm1 pattern (see "Standard Pattern Names for Generation") is not necessary if you are happy with the code that GCC itself comes up with. -- Rask Ingemann Lambertsen

Re: Reloading Problems and Memory Addressing

2006-04-10 Thread Rask Ingemann Lambertsen
s of reload over the last five months and still don't understand many parts of it, but I'll help you with those parts that I do understand. > The information I found in the gcc > internals docs and other parts of the inet are pretty widespread. I would be > glad if some

Re: Reloading Problems and Memory Addressing

2006-04-12 Thread Rask Ingemann Lambertsen
UIRED and ELIMINABLE_REGS. You want the former to be 0 and the latter to contain an elimination of FRAME_POINTER_REGNUM into STACK_POINTER_REGNUM. Also check CAN_DEBUG_WITHOUT_FP. [not making BP fixed] > Can I do the same thing with SP? I don't know. The difficulty is somewhere between nontrivial and impossible. Don't try this at first. -- Rask Ingemann Lambertsen

Simplification of combine patterns with subreg and zero_extract

2006-04-13 Thread Rask Ingemann Lambertsen
]) (const_int 8 [0x8]) (const_int 8 [0x8])) which seems to be the simplest way of saying "zero extend byte 1 of register 22 to 16 bits". Also, is there a function for simplifying a zero_extract? -- Rask Ingemann Lambertsen

Oddity with REG_DEP_TRUE and subregs of multiword registers?

2006-04-13 Thread Rask Ingemann Lambertsen
posed to have a dependency on insn 12. There is no overlap between the subregs. I would have thought that insn 13 should have a dependency on insn 6, 7 and possibly 14, like insn 12. Am I simply misunderstanding the purpose of (undocumented) REG_DEP_TRUE? -- Rask Ingemann Lambertsen

Re: Simplification of combine patterns with subreg and zero_extract

2006-04-14 Thread Rask Ingemann Lambertsen
ked up by combine. There is a lot of simplification code in combine.c too. Should I try to add these simplifications to both combine.c and simplify-rtx.c? -- Rask Ingemann Lambertsen

Re: Simplification of combine patterns with subreg and zero_extract

2006-04-14 Thread Rask Ingemann Lambertsen
g it wrong. So I'll put a breakpoint there and see what happens. -- Rask Ingemann Lambertsen

RFA: #line directives in generated files to aid debugging

2006-04-16 Thread Rask Ingemann Lambertsen
[cut] The problem is that line numbers larger than 32767 are only supported with C99 or better, which we don't request from gcc. Because of -pedantic, GCC complains. Suggestions are welcome. i386.md is more than 2 lines long, btw. -- Rask Ingemann Lambertsen

Re: Reloading Problems and Memory Addressing

2006-04-24 Thread Rask Ingemann Lambertsen
at least be able to get your compile going by telling GCC to return the value in memory instead. I don't recall exactly how this is done - my i8086 backend returns anything larger than 32 bits in memory - but see the sections "How Scalar Function Values Are Returned" and "How Large Values Are Returned". -- Rask Ingemann Lambertsen

Re: #line numbers in insn-recog.c

2006-05-03 Thread Rask Ingemann Lambertsen
9,7 +1049,7 @@ { printf ("case CONSTRAINT_%s:\n return ", c->c_name); write_predicate_expr (c->exp); - fputs (";\n\n", stdout); + fputs (";\nLINE\n\n", stdout); } puts ("default: break;\n" Index: gcc/genrecog.c === --- gcc/genrecog.c (revision 112877) +++ gcc/genrecog.c (working copy) @@ -2129,6 +2129,7 @@ case DT_c_test: print_c_condition (p->u.c_test); + puts ("\nLINE"); break; case DT_accept_insn: -- Rask Ingemann Lambertsen

Re: Segment registers support for i386

2006-05-14 Thread Rask Ingemann Lambertsen
,%0") Operand 1 should have a predicate of "nonimmediate_operand" and a constraint of "rm". Also, aren't the segment registers HImode registers? Above, you wrote: >register short a __asm__ ("es"); ^ And have you adjusted HARD_REGNO_MODE_OK() and HARD_REGNO_NREGS() accordingly? -- Rask Ingemann Lambertsen

Re: Segment registers support for i386

2006-05-17 Thread Rask Ingemann Lambertsen
ot;general_operand" "=s") >(match_operand:SI 1 "register_operand" ""))] >"" >"movl\t%1,%0") I think you'll have to add "s" alternatives to the *movhi pattern instead of adding two new patterns, since otherwise there will be two nearly identical patterns and GCC might use the wrong one. If you need patterns named "store_seg" and "load_seg", use an expander. -- Rask Ingemann Lambertsen

Pattern names and prefixes (Was: RFC cse weirdness)

2006-05-23 Thread Rask Ingemann Lambertsen
ction to be generated automatically, so that you can call it from a (define_expand ...). FWIW, I'm using '_' for this purpose. It is permitted in C function names and makes a clash with future standard pattern names unlikely. Just my DKK 0.02 worth. -- Rask Ingemann Lambertsen

A reload failure which I can't figure out

2006-05-30 Thread Rask Ingemann Lambertsen
4 d)) (set (mem:HI stack-slot-a) (reg:HI 2 a)) (set (reg:HI 2 a) (mem:HI stack-slot-d)) (parallel [(set (reg:HI 2 a) (mult:HI (reg:HI 2 a) (reg:HI 6 b))) (clobber (reg:HI 4 d)) (clobber (reg:CC CC_REG))] (set (reg:HI 0 c) (reg:HI 2 a)) (set (reg:HI a) (mem:HI stack-slot-a)) (set (reg:HI d) (mem:HI stack-slot-d)) What am I missing? -- Rask Ingemann Lambertsen

Re: Modifying ARM code generator for elimination of 8bit writes - need help

2006-06-01 Thread Rask Ingemann Lambertsen
, (register is globbered) > and of course making the swpb call.. I think you will need to remove the '+' as already suggested and add (clobber (match_scratch:QI "=X,X,X,1")) to tell GCC that the register allocated to operand 1 is clobbered by the instruction for this particular alternative. You will also have to modify any code which expands this pattern accordingly. -- Rask Ingemann Lambertsen

Re: Modifying ARM code generator for elimination of 8bit writes - need help

2006-06-02 Thread Rask Ingemann Lambertsen
t a fixed register (see FIXED_REGISTERS), refer to this register directly in the output template and don't add a clobber to the movqi patterns. IMHO, that's an acceptable hack at an experimental stage. If the resulting code runs correctly on the DS, you can then undo the FIXED_REGISTERS change and add the clobber statements. -- Rask Ingemann Lambertsen

Re: Modifying ARM code generator for elimination of 8bit writes - need help

2006-06-04 Thread Rask Ingemann Lambertsen
On Sun, Jun 04, 2006 at 12:31:08PM +0200, Wolfgang Mües wrote: > Hello Rask, > > On Friday 02 June 2006 09:24, Rask Ingemann Lambertsen wrote: > > There may be a faster way of seeing if the modification is going to > > work for the DS at all. I noticed from the output temp

Re: Modifying ARM code generator for elimination of 8bit writes - need help

2006-06-04 Thread Rask Ingemann Lambertsen
byte loads and stores when generating code. -- Rask Ingemann Lambertsen

Re: Modifying ARM code generator for elimination of 8bit writes - need help

2006-06-04 Thread Rask Ingemann Lambertsen
orary register. See TARGET_SECONDARY_RELOAD in the section "Register Classes". > According to the manual, mov insns are not supposed to clobber a > register. I can't find any statement to that effect. Where does it say so? But I can see why it would be a problem when r

Re: Modifying ARM code generator for elimination of 8bit writes - need help

2006-06-04 Thread Rask Ingemann Lambertsen
str%?b\\t%1, %0" > > [(set_attr "type" "*,*,load1,store1") > >(set_attr "predicable" "yes")] > > ) I think you should go back to this (i.e. the unmodified version) and only change the "m" into "Q" in the fourth alternative of operand 0. See if that works, i.e. generates addresses that are valid for the swp instruction. If it does, then begin to add other changes. -- Rask Ingemann Lambertsen

Re: A reload failure which I can't figure out

2006-06-05 Thread Rask Ingemann Lambertsen
On Tue, May 30, 2006 at 08:23:34PM +0200, Rask Ingemann Lambertsen wrote: > Hi. > > I have problems figuring out why reload gives up on this: > > reload failure for reload 1 > ../../../cvssrc/gcc/gcc/libgcc2.c: In function '__moddi3': > ../../../cvssrc/gcc/gcc/l

Re: Modifying ARM code generator for elimination of 8bit writes - need help

2006-06-05 Thread Rask Ingemann Lambertsen
@ lr needed for prologue strbr1, [r0, #5] str ip, [r0, #8] str r3, [r0, #0] bx lr With -O2 -mswp-byte-writes: bytewritetest: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 str lr, [sp, #-4]! add r2, r0, #4 add lr, r0, #5 ldrbr3, [lr, #0]@ zero_extendqisi2 ldrbr1, [r2, #0]@ zero_extendqisi2 eor r2, r1, r3 add r3, r3, r1 ldr ip, [r0, #0] str r3, [r0, #0] swpbr3, r2, [lr, #0] str ip, [r0, #8] ldr pc, [sp], #4 The register allocator chooses to use the lr register, in turn causing link register save alimination to fail, which doesn't help. -- Rask Ingemann Lambertsen

Re: Modifying ARM code generator for elimination of 8bit writes - need help

2006-06-06 Thread Rask Ingemann Lambertsen
temporary measure. > I just > wasn't sure from the thread whether you realised that output reloads > might be a specific problem. I was not aware of this. It is only the second time I've seen postreload complain about unsatisfied constraints. Thanks for pointing out this problem. -- Rask Ingemann Lambertsen

Re: Modifying ARM code generator for elimination of 8bit writes - need help

2006-06-06 Thread Rask Ingemann Lambertsen
On Tue, Jun 06, 2006 at 07:42:20AM +0200, Wolfgang Mües wrote: > Rask, > > On Monday 05 June 2006 16:16, Rask Ingemann Lambertsen wrote: > > I think the comment in arm.h is wrong. The manual seems to agree with > > the code. > > Just to make it easy for beginners

Re: Modifying ARM code generator for elimination of 8bit writes - need help

2006-06-08 Thread Rask Ingemann Lambertsen
On Tue, Jun 06, 2006 at 08:27:10PM +0200, Rask Ingemann Lambertsen wrote: > On Tue, Jun 06, 2006 at 10:39:46AM +0100, Richard Sandiford wrote: > > This is just a guess, but the insn above might be an output reload. > > It is, in a peculiar (and not useful) way. Diffing the gr

Re: Modifying ARM code generator for elimination of 8bit writes - need help

2006-06-09 Thread Rask Ingemann Lambertsen
ded = 0, uses_anonymous_args = 0 @ link register save eliminated. ldr r0, .L8 @ lr needed for prologue ldrbr1, [r0, #0]@ zero_extendqisi2 mov r2, #134217728 .L2: ldr r3, .L8+4 swpbip, r1, [r2, #0] add r2, r2, #1

Re: Modifying ARM code generator for elimination of 8bit writes - need help

2006-06-17 Thread Rask Ingemann Lambertsen
On Fri, Jun 02, 2006 at 09:24:17AM +0200, Rask Ingemann Lambertsen wrote: > The rest of the ARM backend presently assumes that the pattern has the form > > (set (operand:QI 0) (operand:QI 1)) > > but now we've changed it to > > (parallel [(set (operand:QI 0) (operand:

Re: Matching of non-standard instructions

2006-06-26 Thread Rask Ingemann Lambertsen
tion. Some sort of clue is given by http://gcc.gnu.org/onlinedocs/gccint/Insn-Canonicalizations.html> but is not the whole story. -- Rask Ingemann Lambertsen

Re: Matching of non-standard instructions

2006-06-27 Thread 'Rask Ingemann Lambertsen'
gister_operand" "r") > (sign_extend:DI (match_operand:SI "register_operand" > "r"] > ... > ) My first bet would be to place the sign_extend operand first of the two operands to plus. Also, the output from -fdump-rtl-combine will tell you if combine is rejecting the pattern because the cost is too high. -- Rask Ingemann Lambertsen

Re: Addressing modes question

2006-07-07 Thread Rask Ingemann Lambertsen
t the memory access available in GO_IF_LEGITIMATE_ADDRESS(), such as the direction (read, write or modify) and the insn (code number?) and operand number in which the memory access occurs. -- Rask Ingemann Lambertsen

Re: -mno-80387 and MMX autovectorisation

2006-07-16 Thread Rask Ingemann Lambertsen
and emit the (f)emms instruction in the epilogue if an MMX register was ever used. -- Rask Ingemann Lambertsen

Re: Modifying ARM code generator for elimination of 8bit writes - need help

2006-07-19 Thread Rask Ingemann Lambertsen
sn (rtx x, rtx y) { - return emit_insn (gen_rtx_SET (VOIDmode, x, y)); + if (general_operand (y, GET_MODE (x)) +return emit_move_insn (x, y); + else +return emit_insn (gen_rtx_SET (VOIDmode, x, y)); } /* Return the number of bits set in VALUE. */ -- Rask Ingemann Lambertsen

Re: Indexed address problem

2006-07-19 Thread Rask Ingemann Lambertsen
-patches/2006-03/msg01311.html>. On http://gcc.gnu.org/lists.html>, please read the part which follows: "Please do not include or reference confidentiality notices". -- Rask Ingemann Lambertsen

Re: Project RABLET

2006-07-19 Thread Rask Ingemann Lambertsen
bit targets suffer from this much of the time. I can only imagine that the AVR camp must be tearing their hair out in frustration. The register allocater really needs to be able to allocate subregs independently. -- Rask Ingemann Lambertsen

Re: Modifying ARM code generator for elimination of 8bit writes - need help

2006-07-19 Thread Rask Ingemann Lambertsen
On Wed, Jul 19, 2006 at 01:24:59PM +0200, Rask Ingemann Lambertsen wrote: > > The function named emit_move_insn() ought to do the trick here, but > is perhaps a bit heavyweight for this purpose. Anyway, try this patch > (untested), which should plug this particular hole: There was a

Re: Indexed address problem

2006-07-19 Thread Rask Ingemann Lambertsen
lly used, so it would > seem to be treated the same as SImode. The target machine doesn't have > special instructions for manipulating 24-bit pointers, all pointer moves > and arithmetic are done with 32-bit instructions. OK, use SImode. -- Rask Ingemann Lambertsen

Re: Modifying ARM code generator for elimination of 8bit writes - need help

2006-07-20 Thread Rask Ingemann Lambertsen
e, operands[2], DImode, 4); /* If necessary, reload the address. */ if (REG_P (XEXP (operands[0], 0))) { operands[5] = operands[4]; operands[6] = operands[0]; } else { operands[5] = XEXP (operands[0], 0); operands[6] = gen_rtx_MEM (QImode, operands[4]); } }) (Is it OK to use gen_rtx_MEM() during reload? Should I use replace_equiv_address() instead?) -- Rask Ingemann Lambertsen

Re: Modifying ARM code generator for elimination of 8bit writes - need help

2006-07-20 Thread Rask Ingemann Lambertsen
On Wed, Jun 07, 2006 at 07:22:31AM +0200, Wolfgang Mües wrote: > On Tuesday 06 June 2006 21:33, Rask Ingemann Lambertsen wrote: > > > Yet another register which stands a good chance of being reusable is > > the register containing the address. > > Yes, but that is not

Re: Modifying ARM code generator for elimination of 8bit writes - need help

2006-07-21 Thread Rask Ingemann Lambertsen
On Thu, Jul 20, 2006 at 03:27:49PM +0200, Rask Ingemann Lambertsen wrote: > (define_expand "reload_outqi" > [(clobber (match_operand:QI 0 "memory_operand" "=Q")) >(clobber (match_operand:DI 2 "register_operand" "=&r")) &g

Re: Modifying ARM code generator for elimination of 8bit writes - need help

2006-07-21 Thread Rask Ingemann Lambertsen
On Thu, Jul 20, 2006 at 04:37:41PM +0200, Rask Ingemann Lambertsen wrote: > ;; This is primarily a hack for the Nintendo DS external RAM. > (define_insn "_arm_movqi_insn_swp" > [(set (match_operand:QI 0 "reg_or_Qmem_operand" "=r,r,r,Q,Q") > (match_

Re: Documentation for loop infrastructure

2006-07-26 Thread Rask Ingemann Lambertsen
yses/analysis/ -- Rask Ingemann Lambertsen

reload getting the mode of (subreg:HI (reg:QI pseudo)) wrong

2006-08-03 Thread Rask Ingemann Lambertsen
ld[i].opnum] and in case of a "0" constraint, I'm sure it is possible to find the matching operand too somehow. Then that information can be used to ensure rld[i].mode is large enough. Is there any reason that operand_mode[] would not be reliable? -- Rask Ingemann Lambertsen

Re: reload getting the mode of (subreg:HI (reg:QI pseudo)) wrong

2006-08-04 Thread Rask Ingemann Lambertsen
On Fri, Aug 04, 2006 at 02:30:34AM +0200, Rask Ingemann Lambertsen wrote: > The constraints are not met because the constraint "d" is register class > DX_REGS consisting of register 4 and 5, and (reg:HI 5 dh) spans register 5 > and 6. Also, HARD_REGNO_NREGS (5, HImode) returns

Re: reload getting the mode of (subreg:HI (reg:QI pseudo)) wrong

2006-08-04 Thread Rask Ingemann Lambertsen
ters which can't hold QImode values. They are 16-bit only (%si, %di, %bp and %sp). Is there an undocumented assumption here that if CANNOT_CHANGE_MODE_CLASS() returns true, then the number of hard regs used is unchanged? I haven't heard of REG_CANNOT_CHANGE_MODE_P before, and it i

Re: reload getting the mode of (subreg:HI (reg:QI pseudo)) wrong

2006-08-04 Thread Rask Ingemann Lambertsen
) (subreg:QI (reg:HI 643) 0)) 34 {movqi} (insn_list:REG_DEP_TRUE 2483 (nil)) (expr_list:REG_DEAD (reg:HI 643) (nil))) But nice try anyway, combine. :-) -- Rask Ingemann Lambertsen

Re: Modifying ARM code generator for elimination of 8bit writes - need help

2006-08-05 Thread Rask Ingemann Lambertsen
these problems are creating an endless story, and sorry for > generating traffic on this list, because I'm still no gcc expert... You shouldn't be sorry about that. GCC provides a good, solid foundation for learning something new every day. > On the other hand, the compiler now has generated code from hundreds of > files, and maybe I'm very near to success now. I think so too. -- Rask Ingemann Lambertsen

Re: reload getting the mode of (subreg:HI (reg:QI pseudo)) wrong

2006-08-13 Thread Rask Ingemann Lambertsen
5 [0xf]))) 31 {*ashrhi3_const15} (insn_list:REG_DEP_TRUE 2480 (nil)) (nil)) (insn 2605 2485 2486 39 libgcc2.c:1825 (set (mem/c:QI (plus:HI (reg/f:HI 10 bp) (const_int -42 [0xffd6])) [10 S1 A8]) (reg:QI 4 d)) 34 {movqi} (nil) (nil)) -- Rask Ingemann Lambertsen "

LOG_LINKS field not set because of gcse1 (or fwprop1) pass

2006-08-13 Thread Rask Ingemann Lambertsen
(const_int -1 [0x]))) ]) 68 {*dechi2_cc_ccz} (nil) (nil)) -- Rask Ingemann Lambertsen

Re: LOG_LINKS field not set because of gcse1 (or fwprop1) pass

2006-08-14 Thread Rask Ingemann Lambertsen
prop? No, because insn 96, which reads reg 32, might be executed the next time through the loop. -- Rask Ingemann Lambertsen

Re: LOG_LINKS field not set because of gcse1 (or fwprop1) pass

2006-08-14 Thread Rask Ingemann Lambertsen
On Sun, Aug 13, 2006 at 10:16:02PM +0200, Rask Ingemann Lambertsen wrote: > Note that right after expand, we have: > > (note 91 90 0 NOTE_INSN_BASIC_BLOCK) > > ;; size = size - 1 > (insn 93 91 96 (set (reg:HI 42) > (const_int -1 [0x])) -1 (nil) > (n

Re: LOG_LINKS field not set because of gcse1 (or fwprop1) pass

2006-08-16 Thread Rask Ingemann Lambertsen
On Mon, Aug 14, 2006 at 09:35:34PM +0200, Rask Ingemann Lambertsen wrote: > On Sun, Aug 13, 2006 at 10:16:02PM +0200, Rask Ingemann Lambertsen wrote: > > > Note that right after expand, we have: > > > > (note 91 90 0 NOTE_INSN_BASIC_BLOCK) > > > > ;; siz

Re: Backend for PicoBlaze

2006-08-25 Thread Rask Ingemann Lambertsen
re out how to pass arguments to functions and figure out an instruction sequence which performs signed comparison. The PicoBlaze has a program storage of at most 1024 instructions and a data storage of 64 bytes. Is it really necessary and useful to port GCC to such a target? -- Rask Ingemann Lambertsen

Re: GCC testsuite timeout question (gcc.c-torture/compile/20001226-1.c)

2006-08-31 Thread Rask Ingemann Lambertsen
suming that s/gcc/g++/ would make it work for the g++ tests, and so on. But I'd much prefer not to modify any of DejaGnu's files or any of the files in my copy of the repository. The question of how to raise the dejagnu timeout has been asked a few times before over the years with no good answer, and given that it is likely for people to run into this issue again, I'd like http://gcc.gnu.org/install/test.html> to say a few words about this. -- Rask Ingemann Lambertsen

Meaning of (set (reg:CC condition_codes_reg) (ge (op0) (op1)))

2006-09-02 Thread Rask Ingemann Lambertsen
n or equal". The (reg:CC 13 cc) part is the condition code register. But I have no idea what it means to set that register to a constant (such as STORE_FLAG_VALUE). -- Rask Ingemann Lambertsen

Copyright assignment form

2006-09-02 Thread Rask Ingemann Lambertsen
Please send me the copyright assignment form I need to contribute to GCC. -- Rask Ingemann Lambertsen

Re: GCC testsuite timeout question (gcc.c-torture/compile/20001226-1.c)

2006-09-09 Thread Rask Ingemann Lambertsen
libmudflap.cth/pass40-frag.c execution and output pattern tests 10 seconds: libmudflap libmudflap.cth/pass37-frag.c and libmudflap.cth/pass39-frag.c execution and output pattern tests -- Rask Ingemann Lambertsen

-ftree-vectorize can't vectorize plus?

2006-09-10 Thread Rask Ingemann Lambertsen
; else goto ; :; goto (); :; return; } [cut] -- Rask Ingemann Lambertsen

Re: #line numbers in insn-recog.c

2006-10-14 Thread Rask Ingemann Lambertsen
For debugging, you can filter the offending file through something like sed -e 's_^#line _// _' and recompile. -- Rask Ingemann Lambertsen

Re: Abt RTL expression

2006-10-16 Thread Rask Ingemann Lambertsen
a value in a data register sets the condition codes while storing a value in an address register leaves the condition codes unmodified. A fourth possibility is that of the PowerPC, where this is optional on a per insn basis, but then you wouldn't normally include the (clobber (reg:CC 21 cc)) version in the machine description. -- Rask Ingemann Lambertsen.

Re: Issue with hard regs

2006-10-17 Thread Rask Ingemann Lambertsen
ng reloads to be sorted in the wrong order (see reload_reg_class_lower() in reload.c), thereby exhausting a small register class. > Can i disable filling/spilling for this register class? -ffixed-name_of_register -- Rask Ingemann Lambertsen

Re: Abt RTL expression

2006-10-17 Thread Rask Ingemann Lambertsen
ite normal for the first 6-7 dump files. It is because matching has not yet been attempted. -- Rask Ingemann Lambertsen

Re: Abt RTL expression

2006-10-17 Thread Rask Ingemann Lambertsen
ilogue code too, -fdump-rtl-rnreg. -- Rask Ingemann Lambertsen

Re: "insn outside basic block" in custom back end

2006-10-18 Thread Rask Ingemann Lambertsen
-fdump-rtl-all-details will give you an idea of how far the compiler gets, and thus maybe a clue to which pass runs into problems. Also, a backtrace from the debugger is nice to have. -- Rask Ingemann Lambertsen

Re: "insn outside basic block" in custom back end

2006-10-19 Thread Rask Ingemann Lambertsen
debug_rtx (stack_pointer_rtx) And btw, which GCC version? -- Rask Ingemann Lambertsen

Re: Modifying ARM code generator for elimination of 8bit writes - need help

2006-10-20 Thread Rask Ingemann Lambertsen
On Mon, Oct 02, 2006 at 12:42:04PM +0200, Wolfgang Mües wrote: > Now it's time to give a big "thank you" to all persons involved, > ecpecially Rask Ingemann Lambertsen with his invaluable help. > > As I started this project, I feared that I would never succeed,

Re: Patch: pacth for score backend document and code

2006-10-26 Thread Rask Ingemann Lambertsen
scribes the procedure for appointing maintainers. Not having this clearly documentaion will easily cause confusion because people who are not maintainers but have "write after approval" permission are also listed in a file called MAINTAINERS, where they are even supposed to add themselves. -- Rask Ingemann Lambertsen

Re: Abt long long support

2006-11-06 Thread Rask Ingemann Lambertsen
support, but grep for LONG_TYPE_SIZE and LONG_LONG_TYPE_SIZE in the .h file and compare the two. -- Rask Ingemann Lambertsen

Re: Abt long long support

2006-11-10 Thread Rask Ingemann Lambertsen
iler that is creating the wrong code and then see if you > can guess why. I usually diff the dump files. If your screen is wide enough, a side by side diff can help you a lot for small functions. -- Rask Ingemann Lambertsen

Re: Abt long long support

2006-11-10 Thread Rask Ingemann Lambertsen
e_expand for movdi that is not reload safe. And in case the target doesn't have registers capable of holding DImode values, consider deleting the movdi pattern. -- Rask Ingemann Lambertsen

Re: Abt long long support

2006-11-10 Thread 'Rask Ingemann Lambertsen'
See e.g.: > > http://gcc.gnu.org/ml/gcc/2003-04/msg01397.html > http://gcc.gnu.org/ml/gcc/2004-06/msg00993.html PR number? -- Rask Ingemann Lambertsen

Re: strict aliasing question

2006-11-10 Thread Rask Ingemann Lambertsen
extern void getit (void **arg); int main () { int *foo; void *bar; getit (&bar); memcpy (&foo, &bar, sizeof (foo)); printf ("foo: %x\n", *foo); return (0); } -- Rask Ingemann Lambertsen

Re: AVR byte swap optimization

2006-11-18 Thread Rask Ingemann Lambertsen
x27;t enough, try adding an expander also: (define_expand "rotlhi3" [(set (match_operand:HI 0 "register_operand") (rotate:HI (match_operand:HI 1 "register_operand") (match_operand:HI 2 "const_int_operand")))] "" { if (INTVAL (operands[2]) != 8) FAIL; }) -- Rask Ingemann Lambertsen

Re: [avr-gcc-list] Re: AVR byte swap optimization

2006-11-19 Thread 'Rask Ingemann Lambertsen'
On Sun, Nov 19, 2006 at 08:31:22AM -0700, Eric Weddington wrote: > Rask, do you have FSF paperwork in place? Yes, it was completed recently. -- Rask Ingemann Lambertsen

Re: AVR byte swap optimization

2006-11-19 Thread Rask Ingemann Lambertsen
) << 16); t.d[0] = BSWAP_16 (t.d[0]); return (t.x); } /* bswap_32_b: movl4(%esp), %edx movl%edx, %eax rolw$8, %ax movw%ax, %dx movl%edx, %eax roll$16, %eax movl %eax, %edx rolw$8, %ax movw%ax, %dx movl%edx, %eax ret */ -- Rask Ingemann Lambertsen

Re: "insn outside basic block" in custom back end

2006-11-25 Thread Rask Ingemann Lambertsen
internal compiler error: in rtl_verify_flow_info, at > cfgrtl.c:2065 Does this patch http://gcc.gnu.org/ml/gcc-patches/2006-11/msg01239.html> fix it? -- Rask Ingemann Lambertsen

Bug in multiple register reload inheritance?

2006-11-26 Thread Rask Ingemann Lambertsen
call subreg_regno_offset (xregno=8, xmode=SImode, offset=2, ymode=HImode) which is fine and returns 1. -- Rask Ingemann Lambertsen

Re: Bug in multiple register reload inheritance?

2006-11-28 Thread Rask Ingemann Lambertsen
On Mon, Nov 27, 2006 at 02:21:36PM -0800, Ian Lance Taylor wrote: > Rask Ingemann Lambertsen <[EMAIL PROTECTED]> writes: > > >If I take out the lines 5643 and 5644 > > > > if (regno < FIRST_PSEUDO_REGISTER) > >

Char shifts promoted to int. Why?

2006-12-17 Thread Rask Ingemann Lambertsen
8/3 rts where move.l 4(%sp), %d1 lsl.b %d1,x rts should have been generated. Also, notice the redundant zero extension. Why are we not generating a QImode shift instruction? -- Rask Ingemann Lambertsen

Re: Char shifts promoted to int. Why?

2006-12-18 Thread Rask Ingemann Lambertsen
0. This is not true on i386 and m68k. -- Rask Ingemann Lambertsen

Re: Char shifts promoted to int. Why?

2006-12-18 Thread Rask Ingemann Lambertsen
On Sun, Dec 17, 2006 at 09:40:15PM +0100, Rask Ingemann Lambertsen wrote: >Similarily for m68k, [cut] > where > > move.l 4(%sp), %d1 > lsl.b %d1,x > rts > > should have been generated. I'm sorry, please forget that. 8-bit shifts a

Re: GCC optimizes integer overflow: bug or feature?

2006-12-23 Thread Rask Ingemann Lambertsen
] == 2) return 1; > return 0; > } No, because you'd read past the end of the array: #include int main (int argc, char *argv[]) { char *a; if ((a == malloc (sizeof (char { int r; a[0] = 1; r = f (a); free (a); return (r); } return (0); } -- Rask Ingemann Lambertsen

Re: GCC optimizes integer overflow: bug or feature?

2006-12-23 Thread Rask Ingemann Lambertsen
On Sat, Dec 23, 2006 at 10:06:54AM +0100, Rask Ingemann Lambertsen wrote: > a[0] = 1; Oops, that should be a[0] = 0 or any other value than 1. -- Rask Ingemann Lambertsen

Re: Top level libgcc checked in

2007-01-07 Thread Rask Ingemann Lambertsen
On Wed, Jan 03, 2007 at 11:28:29PM -0500, Daniel Jacobowitz wrote: > Hopefully, this will not have any great impact on much of anyone. It does. It fixed PR target/30370 (libgcc failing to build on powerpc-unknown-eabispe) on mainline. -- Rask Ingemann Lambertsen

Re: Mis-handled ColdFire submission?

2007-01-11 Thread Rask Ingemann Lambertsen
y, go ahead and submit them. -- Rask Ingemann Lambertsen

Re: Mis-handled ColdFire submission?

2007-01-13 Thread Rask Ingemann Lambertsen
nt not to close the bug as fixed in that case. Which is what happened, unfortunately. -- Rask Ingemann Lambertsen

Re: RFC: Walways-true considered harmful

2007-01-13 Thread Rask Ingemann Lambertsen
timerstruct->callbackfunc (...); ... } so be careful when implementing such warnings. -- Rask Ingemann Lambertsen

Re: Mis-handled ColdFire submission?

2007-01-13 Thread Rask Ingemann Lambertsen
anch just isn't always the one at svn://gcc.gnu.org/svn/gcc/trunk. You basicly can't prevent people from implementing new features. It will inevitably be the case that some people will focus more on adding new features than on fixing bugs and vice versa. -- Rask Ingemann Lambertsen

Re: relevant files for target backends

2007-01-16 Thread Rask Ingemann Lambertsen
ode in order to contribute my > development. I would appreciate any help. By the way, I already had a > look in the GCC Internals manual but I am still a bit confused. I would like to encurage you to submit a patch for the GCC Internals manual to make it clearer. -- Rask Ingemann Lambertsen

Re: trying to fix a bug in m6812 front-end

2007-01-20 Thread Rask Ingemann Lambertsen
... I'd try changing operand 2 of andhi3 from general_operand to splitable_operand, because none of the andhi3 insn patterns seem to match (set (reg:HI) (and:HI (reg:HI) (mem:HI (mem:HI .... In particular, *andhi3_gen needs operand 2 to be a splitable_operand, which (mem:HI (mem:HI ...)) is not. -- Rask Ingemann Lambertsen

Compiling libgcc functions with non-default LIBGCC2_UNITS_PER_WORD

2007-01-20 Thread Rask Ingemann Lambertsen
whole gcc command line in a target makefile fragment? -- Rask Ingemann Lambertsen

Re: Top level libgcc checked in

2007-01-20 Thread Rask Ingemann Lambertsen
what? Libgcc used to build fine without decimal float support. -- Rask Ingemann Lambertsen

Re: Compiling libgcc functions with non-default LIBGCC2_UNITS_PER_WORD

2007-01-21 Thread Rask Ingemann Lambertsen
On Sun, Jan 21, 2007 at 02:00:06PM -0500, Daniel Jacobowitz wrote: > On Sat, Jan 20, 2007 at 01:15:19PM +0100, Rask Ingemann Lambertsen wrote: > >Somewhere in the libgcc build machinery, there is mechanism to override > > the default LIBGCC2_UNITS_PER_WORD setting when compilng

Re: subreg_get_info vs mode restrictions in registers?

2007-01-25 Thread Rask Ingemann Lambertsen
See also http://gcc.gnu.org/ml/gcc-patches/2006-12/msg00241.html>. You probably need to be prepared, whatever that means, for HARD_REGNO_NREGS() to be called with parameters for which HARD_REGNO_MODE_OK() returns 0. As you've found out, subreg_get_info() might do that. -- Rask Ingemann Lambertsen

Re: 64 bit assignment trouble on a 32 bit platform

2007-10-29 Thread Rask Ingemann Lambertsen
hout casting? I am using gcc 4.1.1 on an xscale platform. This is the wrong mailing list for such a question, please ask on [EMAIL PROTECTED] Also please tell us what "work as expected" means. Otherwise, we can't really answer your question. -- Rask Ingemann Lambertsen Dani

Re: Reload using a live register to reload into

2007-11-09 Thread Rask Ingemann Lambertsen
year to essentially revert that patch and enhance find_reg() such that an output reload can use a register which is live_before && !live_after, which is not the case today. See e.g. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32725>. -- Rask Ingemann Lambertsen Danish law requires addresses in e-mail to be logged and stored for a year

Re: own target: combine emits invalid RTL

2007-11-16 Thread Rask Ingemann Lambertsen
E 2053 (nil)) > (nil)) > > This instruction is invalid and there is no pattern for a match. It matches the "iorsi3_internal1" pattern. -- Rask Ingemann Lambertsen Danish law requires addresses in e-mail to be logged and stored for a year

Earlyclobber misunderstanding in local-alloc.c?

2007-11-17 Thread Rask Ingemann Lambertsen
ntation about "Constraint Modifier Characters" says: "`&' applies only to the alternative in which it is written." -- Rask Ingemann Lambertsen Danish law requires addresses in e-mail to be logged and stored for a year

Re: Limits of stage3 changes

2007-11-17 Thread Rask Ingemann Lambertsen
e as a reference, but doesn't help a complete newbie to DF a lot. Because DF is new, there will be newbies to DF. -- Rask Ingemann Lambertsen Danish law requires addresses in e-mail to be logged and stored for a year

Re: own target: combine emits invalid RTL

2007-11-19 Thread Rask Ingemann Lambertsen
(match_operand:SI 2 "uns_arith_operand" "r,K")))] Oh, by the way: A commutative operator will never have a constant as the first operand. I.e. the "_or_0_" part of "reg_or_0_operand" won't happen. -- Rask Ingemann Lambertsen Danish law requires addresses in e-mail to be logged and stored for a year

Re: Simple way to write almost same pattern?

2007-11-22 Thread Rask Ingemann Lambertsen
uot; and "define_code_macro". -- Rask Ingemann Lambertsen Danish law requires addresses in e-mail to be logged and stored for a year

  1   2   3   >