Re: mt-mep using EXTRA_TARGET_HOST_ALL_MODULES?

2011-03-24 Thread DJ Delorie
There's a top-level utils/ subdir in some trees. Yes, MeP has a tool there.

Re: RX: 4.5 branch: Fix alignment and addressing issues.

2011-03-17 Thread DJ Delorie
What is length used for in the rx port? We have a local patch that uses the length to decide if/when to align labels; it goes along with the label alignment change I made a while back. However, the patch works best in 4.5 (align patch not backported) and there are other optimization problems

Re: 4.5 backport request...

2011-03-11 Thread DJ Delorie
I don't think this is suitable for the branch. Any reason why you can't work on the trunk? The vendor's release is 4.5 based, and 4.6 has some performance regressions with this chip. We'd like to sync up the FSF sources with the minor patches the vendor is using, so that their customers can

Re: RFC: target hook to reverse bitfield allocations

2011-03-10 Thread DJ Delorie
And I think the adjustments should not be done after the fact in finish_record_layout, but rather right in place_field, where also the fields alignment and mode are properly tracked. It would be a lot harder to keep track of which bits are allocated and which aren't if we do it in

RFC: target hook to reverse bitfield allocations

2011-03-09 Thread DJ Delorie
In the RX chip (and others, of course), the memory-mapped peripherals have a fixed bit-ordering independent of the endianness of data. However, GCC defines bitfields in structures differently for different endians - effectively always beginning allocations with the lowest addressed byte. To

Re: RFC: target hook to reverse bitfield allocations

2011-03-09 Thread DJ Delorie
First I have to say that people should not use bitfields to access memory mapped peripherals. However, at least this case is not as bad as the volatile bitfields issue. Agreed, but that doesn't stop people from doing it, and it does lead to more readable code. It seems to me that the

Re: RFC: target hook to reverse bitfield allocations

2011-03-09 Thread DJ Delorie
Except that in this case we want to reverse *only* structures that represent peripherals, *not* other structures. I'm sorry, that just seems frigging ridiculous. Ridiculous? Why? I see no reason why we should dictate how other people write their software, or design their chips. Can we

Re: RFC: target hook to reverse bitfield allocations

2011-03-09 Thread DJ Delorie
I'm tempted to agree. I thought people had stopped numbering bits in the wrong order This has nothing to do with numbering bits, it's about how gcc allocates bitfields within structures. Consider: struct { char a:4; char b:4; } Foo; Nothing says that 'a' is in the LSBs of the byte, or

Re: [4.7] Avoid global state in mep_handle_option

2011-03-09 Thread DJ Delorie
Tested building cc1 and xgcc for cross to mep-elf. Will commit to trunk for 4.7 in the absence of target maintainer objections. No objections from me.

Re: [PATCH] avoid memory overrun in a test leading to potential double-free

2011-03-08 Thread DJ Delorie
avoid memory overrun in a test leading to potential double-free * testsuite/test-expandargv.c (writeout_test): Fix off-by-one error: i.e., do copy the trailing NUL byte. Ok. Thanks!

Re: [patch libiberty include]: Add additional helper functions for directory-separator searching

2011-03-08 Thread DJ Delorie
I think we don't need filename_dirchr, only filename_dirrchr. I see no harm in having both, for completeness, though. One could argue they should be in separate files, but they're trivial functions on non-dos-fs systems. What bothers me about this patch is that we're adding yet another set of

Re: [RFA] libiberty/hashtab.c, higher_prime_index: avoid array overrun

2011-03-03 Thread DJ Delorie
I was just wondering whether now would be a good time to mention Probably not, gcc being in stage 4 and all...

Re: [4.7] Avoid global state in m32c_handle_option

2011-03-03 Thread DJ Delorie
Tested building cc1 and xgcc for cross to m32c-elf. Will commit to trunk for 4.7 in the absence of target maintainer objections. Go for it :-)

Re: gcc restores wrong stack pointer value?

2011-03-02 Thread DJ Delorie
So... gcc assumes the register push/pops happen before the frame pointer is initialized? So the epilog always restores $sp from $fp before restoring registers? That would make the m32c port much less efficient, since it has the exitd opcode which restores $sp, releases the frame, and returns,

Re: gcc restores wrong stack pointer value?

2011-03-02 Thread DJ Delorie
which never needs the pair of spill insns. Something to consider... Does gcc provide a flag that says your $sp will be unspecified at the end of this function that's valid during reload and for prologue and epilogue generation? I could push $pc onto the stack just after setting $fp, so it's

Re: gcc restores wrong stack pointer value?

2011-03-02 Thread DJ Delorie
Doh, I suppose what I want is $sp, no, $fp, but that's where I'm storing it, so I suppose I could just set $sp from $fp+const, yes? It's an extra restore sp from fp but only when the frame size is variable.

gcc restores wrong stack pointer value?

2011-02-25 Thread DJ Delorie
m32c-elf, gcc.dg/torture/stackalign/nested-1 at -O0, produces this code: _bar.1229: enter #0 pushm r1,r2,r3,a0,a1 ; end of prologue mov.l a0,r3r1 add.l #-66,sp stc sp,a1 . . . ldc a1,sp ; start of epilogue

Re: Can You Put Comments Into GCC Compiler Options Files?

2011-02-24 Thread DJ Delorie
Couldn't GCC (and binutils) on djgpp set _CRT0_FLAG_DISALLOW_RESPONSE_FILES so that GCC's routines get used to expand the response files instead of the runtime's routines? I suppose it could. I'm not sure how much confusion that would cause (probably little if any), but as long as djgpp

Re: Can You Put Comments Into GCC Compiler Options Files?

2011-02-23 Thread DJ Delorie
Ian Lance Taylor i...@google.com writes: I believe lThese option files were adapted from Windows, and they are primarily for use on Windows, which has much stricter limits on command line length than most Unix systems. We should implement whatever Windows implements. IIRC they were adapted

Re: Can You Put Comments Into GCC Compiler Options Files?

2011-02-23 Thread DJ Delorie
The GNU doschk (in non-gnu/) utility can tell you what's legal and what isn't. http://www.delorie.com/gnu/dl/ftp.gnu.org/non-gnu/doschk/doschk-1.1.tar.gz/doschk-1.1/doschk.c Note, however, that @files used by gcc *in djgpp* will *not* support comments, because @files in djgpp are parsed and

pr45055 on non-scheduling targets...

2011-02-15 Thread DJ Delorie
pr45055 tests a scheduling fix, but on targets that don't support scheduling (like m32c-elf), gcc emits a warning that scheduling is not supported. This warning causes the test to fail. How do we bypass these types of test cases? I don't see a suitable effective_target for scheduling. spawn

rsync'd repo size

2010-12-08 Thread DJ Delorie
http://gcc.gnu.org/rsync.html says 17 Gb. I just did it, and it's up to 22 Gb.

Re: *_ALIGN_MAX_SKIP macros

2010-10-19 Thread DJ Delorie
This is OK if you add LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP, LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP, and JUMP_ALIGN_MAX_SKIP to the /* Old target macros that have moved to the target hooks structure. */ #pragma GCC poison list in system.h. Thanks, committed with that change.

Re: *_ALIGN_MAX_SKIP macros

2010-10-05 Thread DJ Delorie
DJ Delorie d...@redhat.com writes: JUMP_ALIGN_MAX_SKIP LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP LOOP_ALIGN_MAX_SKIP LABEL_ALIGN_MAX_SKIP None of these macros take any parameters, but for optimal performance on RX, it's key to match the max_skip with the size of the following opcode

Re: toplevel *again* out of sync

2010-10-03 Thread DJ Delorie
DJ, can you amend your scripts so that the head of gcc/ChangeLog and src/ChangeLog is included? This will make it easier to bug relevant people. Done.

rx-elf: sched2 dependency question

2010-09-27 Thread DJ Delorie
In this example, why isn't insn 117 scheduled before insn 115 ? What is the dependency? The only thing they have in common is CC, but both generate a value which is never used. ;; == ;; -- basic block 15 from 114 to 118 -- after reload

Re: rx-elf: sched2 dependency question

2010-09-27 Thread DJ Delorie
I think it's probably a mistake to have the default ADD instruction SET the flags, rather than CLOBBER them. How else would we optimize away compares?

Re: rx-elf: sched2 dependency question

2010-09-27 Thread DJ Delorie
Would we have to do that for *all* the math/logic ops, or just add?

Re: rx-elf: sched2 dependency question

2010-09-27 Thread DJ Delorie
That said, I suppose it wouldn't hurt to modify sched-deps to treat a SET+REG_UNUSED as a CLOBBER. Early in sched_analyze_reg, check for ref==USE and a REG_UNUSED note, and change ref to CLOBBER? I tried it, it didn't seem to help... Index: sched-deps.c

Re: -Os is weak...

2010-09-10 Thread DJ Delorie
Is there a particular target you're interested in? Not in that way, no. My biggest concern is that the documentation is wrong. My second concern is that the help option says it basically does nothing (well, one or two options) instead of the big list it used to do (or that the other -O* do).

-Os is weak...

2010-09-09 Thread DJ Delorie
The docs say... @item -Os @opindex Os Optimize for size. @option{-Os} enables all @option{-O2} optimizations that do not typically increase code size. It also performs further optimizations designed to reduce code size. @option{-Os} disables the following optimization flags:

Re: -Os is weak...

2010-09-09 Thread DJ Delorie
Some backends also check optimize_size to change their cost algorithms to favor shorter instruction sequences. But why doesn't it do what the documentation says? -falign-* seems like an obvious one - aligning labels and such always makes the code bigger.

*_ALIGN_MAX_SKIP macros

2010-07-27 Thread DJ Delorie
JUMP_ALIGN_MAX_SKIP LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP LOOP_ALIGN_MAX_SKIP LABEL_ALIGN_MAX_SKIP None of these macros take any parameters, but for optimal performance on RX, it's key to match the max_skip with the size of the following opcode - there's a penalty only if you branch to an

Re: m4 requirement

2010-07-13 Thread DJ Delorie
I think I've seen this one, it's something like this: GNU flex calls M4 when you run flex. GMP disables M4 and runs flex; flex then tries to run m4-not-used (or whatever it's called) instead of m4.

loop peeling vs TARGET_CASE_VALUES_THRESHOLD

2010-06-30 Thread DJ Delorie
In unroll_loop_runtime_iterations() we emit a sequence of n_peel compare/jump instructions. Why don't we honor TARGET_CASE_VALUES_THRESHOLD here, and use a tablejump when n_peel is too big?

Re: patch: honor volatile bitfield types

2010-06-23 Thread DJ Delorie
Can we similarly promise or say something for accesses of the containing struct as a whole? I hadn't considered those cases (when would you want to copy a *peripheral* ?) Should be the same as before, I would think.

Re: Using C++ in GCC is OK

2010-06-02 Thread DJ Delorie
Robert Dewar de...@adacore.com writes: I would create a specific committee to reccommend a C++ coding standard (preferably based on one of the standard ones available, such as Google). Doing things in secret like that is not the Open Source Way.

Re: Using C++ in GCC is OK

2010-06-02 Thread DJ Delorie
You've already convinced me, but you originally described a problem where emacs' paragraph formatting would incorrectly rearrange multi-line C++ comments. Out of personal curiosity, does emacs actually have a bug in this regard or not? It happens to work correctly in a well-formed C++ test

Re: Using C++ in GCC is OK

2010-06-01 Thread DJ Delorie
My suggestions: * When it is appropriate to use a child class with virtual functions, the virtual functions should all be declared as protected in the parent class. At first reading, I thought you meant all virtual functions should be protected, but I think you meant if a child ADDS a

Re: [RFC] Switching implementation language to C++

2010-06-01 Thread DJ Delorie
Diego Novillo dnovi...@google.com writes: 4- Should we make the switch during the 4.6 stage 1? My suggestion: put something in one common file that requires C++, just to force the use of C++ compilers, but with a comment that says If you can't build this file, comment out the following and file

Re: Using C++ in GCC is OK

2010-06-01 Thread DJ Delorie
I did mean that all virtual functions should be protected. This forbids the most useful thing about virtual functions - letting child classes implement a public ABI defined by the base class. * All data members should be private. * All data members should have names which end with an

Re: Using C++ in GCC is OK

2010-06-01 Thread DJ Delorie
In a project with as many globals as we have, it's kinda handy to know at a glance whether a member function is accessing a data member or a global. Add a globals-in-namespaces rule, or a ::global syntax, and you have even more overkill. IMHO we should make it easy to implement a clean

Re: Using C++ in GCC is OK

2010-06-01 Thread DJ Delorie
2) The parent class does not consist only of pure virtual methods. In that case I am arguing that all virtual methods should be protected. What about the case where the parent provides default implementations of methods that are infrequently overridden by children? Otherwise, you end up with

Re: Using C++ in GCC is OK

2010-06-01 Thread DJ Delorie
Right, but it may happen some day. Also there is the issue of clarity. I think it is clearer to see this-get() rather than get(). this-put_size (this-get_bounds (this-get_x(), this-get_y()), this-get_variance (this-default_variance ())) I'd like to avoid needing to assign

Re: Using C++ in GCC is OK

2010-06-01 Thread DJ Delorie
gold is using this convention, isn't it? I find the gold sources harder to read than the rest of binutils, and would like to avoid propogating that style elsewhere. This from someone who's been writing C++ code for twenty years now. Also, gold was added to binutils without this type of

Re: Using C++ in GCC is OK

2010-06-01 Thread DJ Delorie
Hargett, Matt matt.harg...@bluecoat.com writes: As noted earlier I think we do want to use some STL classes. I agree with Mark's earlier declaration that it is relatively straight-forward, low-hanging fruit to replace VEC_* I do not object to simple and obvious uses of STL to replace

Re: GFDL/GPL Issue

2010-06-01 Thread DJ Delorie
Mark Mitchell m...@codesourcery.com writes: So, my question is this: is the permission above sufficient for what people want to do at this point? This permission exactly covers what libiberty does for its documentation, you can use that as an example to RMS.

C++ vs Cpp v Cxx

2010-06-01 Thread DJ Delorie
Can we make a point of not using Cpp as a normalization of C++ ? I keep thinking it's referring to the C preprocessor. Cxx is less misleading (and kinda looks the same), when C++ cannot be used for character set reasons.

Re: Using C++ in GCC is OK

2010-06-01 Thread DJ Delorie
I think that would be most unproductive and misguided. Maybe I should step back and restate my original desires. I don't want us to move *too quickly* towards an all-STL implementation, and end up with a hairy mess that's hard to understand. I've had to debug our STL implementation before,

Re: toplevel out of sync

2010-05-25 Thread DJ Delorie
Also, I would like to make a new policy that from now on patches to the toplevel cannot be committed by anyone who doesn't have write access to both gcc and src. Is there any agreement on this? Our current policy certainly doesn't work, either we come up with something that will, or abandon

Re: toplevel out of sync

2010-05-25 Thread DJ Delorie
There are no changes in intl, libiberty. The sourceware git mirror doesn't seem to carry libdecnumber. Which files in include/ were part of libiberty again? Libiberty is kept in sync because gcc is the master and src is the copy, so it can be mostly automated. The libiberty sync includes

Re: arm-elf float-abi defaults...

2010-05-14 Thread DJ Delorie
I am strongly of the opinion that the right way to do this is to have the compiler generate appropriate directives in the assembly files it generates -- and to have users do the same. Relying on the defaults is just too dangerous. So... where should this go?

Re: arm-elf float-abi defaults...

2010-05-14 Thread DJ Delorie
The compiler should generate a pseudo-op that is processed by the assembler. If the right pseudo-op doesn't already exist, it needs to be added to both the assembler and compiler. The assembler has pseudo-s for .fpu which says what kind of FPU it has, but the generic hard/soft choice is only

Re: arm-elf float-abi defaults...

2010-05-14 Thread DJ Delorie
Yes, but presumably you could make those pseudo-ops ARM-specific, rather than EABI specific? Could, but gcc doesn't always know the specific .fpu. I imagine version-sync nightmares too, so IMHO we should either do a command-line thing from gcc, or just forget it if EABI works.

Re: arm-elf float-abi defaults...

2010-05-14 Thread DJ Delorie
If it isn't, then you can either punt on arm-elf, or enable some EABI functionality there. If, on the other hand, you think there's a problem when using the EABI, then we should talk about how to solve it. EABI works fine, we're just working through our array of things-to-be-tested and

arm-elf float-abi defaults...

2010-05-11 Thread DJ Delorie
I discovered that if you build a plain arm-elf toolchain, the default float-abis for gcc and gas don't match. I added this patch locally to make it just work but it seems to me it would be better to have the defaults match, although I'm not sure how to enforce that. Comments? Suggestions?

Re: may_be_unaligned_p bug?

2010-04-12 Thread DJ Delorie
I can confirm this fixes my test case. Had I known about highest_pow2_factor() I might have come up with this myself ;-) Index: tree-ssa-loop-ivopts.c === --- tree-ssa-loop-ivopts.c(revision 158148) +++

Re: may_be_unaligned_p bug?

2010-04-12 Thread DJ Delorie
OK, I'll do some testing with it tomorrow. Which GCC versions are affected? I tested trunk and an old 4.2.1 internal branch, and found the bug on both, so anything in between would be affected too. It goes back at least to this patch, which mostly fixed the bug: 2008-02-19 Christian Bruel

may_be_unaligned_p bug?

2010-04-09 Thread DJ Delorie
In tree-ssa-loop-ivopts.c:may_be_unaligned_p(), we call get_inner_reference to figure out bitpos, but we don't take into account toffset - which may make the reference less aligned than we expect. Is this supposed to be accounted for by STEP ? It doesn't always work with nested arrays - STEP is

Re: why multiple libiberty directories

2010-03-01 Thread DJ Delorie
But I've previously noted that target libiberty seems completely useless; It's a target library, like newlib, libz, libstdc++, or anything else. How do you know there are no target applications that want to link against it?

Re: why multiple libiberty directories

2010-03-01 Thread DJ Delorie
Is it still used outside the Cygnus tree? How should I know? I don't know what users of free software do with it... It's a target library. Anyone writing code for any target might use it.

Re: How to define target-specific PSImode?

2009-12-07 Thread DJ Delorie
Note that the m32c port uses PSImode, so it may offer some suggestions as example code.

Re: [Bug c++/41916] New: psignal() declaration needs const char*

2009-11-02 Thread DJ Delorie
Libiberty should not even try to compile psignal() on djgpp as djgpp already has one. This is noted in libiberty/configure.ac.

Re: [LTO merge][0/15] Description of the final 15 patches

2009-09-28 Thread DJ Delorie
gets from the linker. Since the linker plugin is a shared object, and it uses libiberty functions, it needs to use a shared libiberty. Why can't they just link a static libiberty?

m32c vs loop-opts - possible work-around

2009-09-08 Thread DJ Delorie
If loop optimization assumes sizeof(void *) == sizeof(size_t) and won't work correctly otherwise, perhaps a check for that condition in gate_tree_ssa_loop_ivopts() would be appropriate? I thought of just disabling that flag in m32c.c, but I figured a more generic solution would make more sense,

Re: Targets still needing stdint.h type information

2009-08-13 Thread DJ Delorie
* DJGPP Committed. 2009-08-13 DJ Delorie d...@redhat.com * config/i386/djgpp-stdint.h: New. * config.gcc (djgpp): Use it. Index: config.gcc === --- config.gcc (revision 150731) +++ config.gcc (working copy

is pr26565 broken again?

2009-07-28 Thread DJ Delorie
On s390x it produces this insn: (insn 8 7 9 3 323444.c:15 (set (mem/s:DI (reg:DI 46) [0 S8 A64]) (mem/s:DI (reg/v/f:DI 45 [ tp ]) [0 S8 A64])) -1 (nil)) Note that the alignments are 64 bit again, despite the field being packed. mep-elf has similar results. void *memcpy(void *dest,

Re: Add crc32 function to libiberty

2009-07-24 Thread DJ Delorie
Your code uses the (one and only) CRC-32 polynomial 0x04c11db7, so just describing it as the CRC-32 function should be sufficient documentation. It's the same CRC function as used by PKZIP, Ethernet, and chksum. It's not compatible with the Intel CRC32 instruction which uses the CRC-32C

[mep] legitimizing control registers

2009-07-21 Thread DJ Delorie
Committed. * config/mep/mep.c (mep_legitimize_arg): Leave control registers alone too. Index: config/mep/mep.c === --- config/mep/mep.c(revision 149868) +++ config/mep/mep.c(working copy) @@ -6201,13

Re: bitfields: types vs modes?

2009-07-16 Thread DJ Delorie
At the risk of being naive: implement it. I'm not quite sure what you're looking for here? Ok, time to ask for a hint. I started at get_best_mode(), adding a TREE argument for the type, and worked my way out, adding arguments to functions as needed to propogate the type information. It's

Re: bitfields: types vs modes?

2009-07-14 Thread DJ Delorie
I think the ARM specification is pretty sensible, and would make a good cross-platform approach. Could you distill it for us? The relevant bits are from AAPCS \S 7.1.7.5, and quoted below. I finally got the last of the feedback I needed from our customers, and they agree that the

Re: bitfields: types vs modes?

2009-07-14 Thread DJ Delorie
At the risk of being naive: implement it. I'm not quite sure what you're looking for here? I'd rather have some confidence that the way I choose to implement it would be acceptable to those who would be reviewing it ;-) I'll give it a shot at the same point in the code where we call the

Re: TARGET_OPTION_CAN_INLINE_P vs TARGET_CAN_INLINE_P

2009-07-09 Thread DJ Delorie
The OPTION is there because this was introduced for the option attribute. But the entry in the target structure is named can_inline_p, and the macro should be TARGET_CAN_INLINE_P. So the doc is the desired state, and the code is not. How's this? * targhooks.c

Re: TARGET_OPTION_CAN_INLINE_P vs TARGET_CAN_INLINE_P

2009-07-09 Thread DJ Delorie
Thanks, committed.

TARGET_OPTION_CAN_INLINE_P vs TARGET_CAN_INLINE_P

2009-07-08 Thread DJ Delorie
The documentation says: @deftypefn {Target Hook} bool TARGET_CAN_INLINE_P (tree @var{caller}, tree @var{callee}) But the code says: #ifndef TARGET_OPTION_CAN_INLINE_P #define TARGET_OPTION_CAN_INLINE_P default_target_option_can_inline_p #endif #define TARGET_OPTION_HOOKS

-frename-registers bug?

2009-07-02 Thread DJ Delorie
When compiled with -frename-registers, this test case produces invalid code. Specifically, the cpadd4.h opcode clobbers $c1 but the cpsub2.h assumes it still has the value a in it. Compiling with -fno-rename-registers results in valid code. I've attached the full testcase and before/after

Re: -frename-registers bug?

2009-07-02 Thread DJ Delorie
You could file this in Bugzilla instead, with all required fields filled in (host, target, compiler revision number, etc), and test cases as text attachments ;-) Ok. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40626

Re: Warning while building for win64

2009-06-25 Thread DJ Delorie
This is a special case because all the logic has to be done in md5.c as preprocessor macros. You'd need someone familiar with the platform (Chris, Danny, Kai) to specify a reliable way to detect that platform and/or define the types accordingly. If it can typedef md5_uintptr directly, or use

Re: Ping: New Toshiba Media Processor (mep-elf) port and maintainer

2009-06-18 Thread DJ Delorie
I thought I had sent you mail approving the changes 2 weeks ago. Perhaps I misremembered, or perhaps it got lost somewhere. All of my comments about the internals of the mep would be things to do if you desired, but as port maintainer, I don't see that we have to apply standards set for the

Re: genrecog: ran out of alphabet

2009-06-17 Thread DJ Delorie
That sounds like an awkward insn. The opcode swaps two register banks. 32 SETs total. It would be nice if genrecog at least checked for an out of range letter. Or used ch-'a' 32 tests, but would that work with EBCDIC build machines?

Re: genrecog: ran out of alphabet

2009-06-17 Thread DJ Delorie
The opcode swaps two register banks. 32 SETs total. Perhaps you can cheat by using larger modes. E.g., if it's a 32-bit machine, using DImode will cut the number of operands in half. They're DImode already, but I did figure out a workaround that reduces it to 16 SETs, so I'm all set.

genrecog: ran out of alphabet

2009-06-16 Thread DJ Delorie
genrecog uses strings to keep track of where it is, specifically, digits and letters. I've got an insn that writes to more than 26 registers. Would switching to something bigger than [A-Z] be difficult? Perhaps using Japanese letters instead of English? ;-)

Ping: New Toshiba Media Processor (mep-elf) port and maintainer

2009-06-16 Thread DJ Delorie
Pending initial (technical) approval Ping? Still waiting for technical approval from a global maintainer. http://people.redhat.com/dj/mep/

Re: sched2, ret, use, and VLIW bundling

2009-06-09 Thread DJ Delorie
The problem may be in the dependency cost between the SET (insn 27) and the USE (insn 30) being = 1. Have you tried using targetm.sched.adjust_cost() hook to set the cost of USE to 0? It doesn't get called for those two insns. Anyway, this seems strange, the scheduler should just output

Re: sched2, ret, use, and VLIW bundling

2009-06-09 Thread DJ Delorie
Some progress... the scheduler is willing to schedule them together if I define the SCHED_REORDER2 hook (just SCHED_REORDER was insufficient), and always return the number of ready insns. In my case, the VLIW packing restrictions are fully defined by a DFA; I don't need to further restrict

Re: New Toshiba Media Processor (mep-elf) port and maintainer

2009-06-08 Thread DJ Delorie
Pending initial (technical) approval So... Can I get a global maintainer to approve it?

Re: New Toshiba Media Processor (mep-elf) port and maintainer

2009-06-05 Thread DJ Delorie
Thanks!

sched2, ret, use, and VLIW bundling

2009-06-05 Thread DJ Delorie
I'm working on a VLIW coprocessor for MeP. One thing I noticed is that sched2 won't bundle the function's RET with the insn that sets the return value register, apparently because there's an intervening USE of that register (insn 30 in the example below). Is there any way around this? The

question about TARGET_MUST_PASS_IN_STACK

2009-06-02 Thread DJ Delorie
On xstormy16, when structures with variable-length arrays are passed to functions (execute/20020412-1.c), it appears that they're passed by reference (based on examining the stack), despite the port not explicitly requesting that. This causes a mis-match in the va_arg code, which assumes the

Re: bitfields: types vs modes?

2009-05-20 Thread DJ Delorie
We seem to have dropped this discussion. I now have *two* customers asking for this functionality. Can we pick it up again? We need to decide: 1. If the functionality will be allowed in gcc at all 2. What info the target needs to be provided to make the choices it wants 3. What, if any,

Re: bitfields: types vs modes?

2009-05-20 Thread DJ Delorie
I think the ARM specification is pretty sensible, and would make a good cross-platform approach. Could you distill it for us? If it's acceptable to my two customers, it would be a good starting point to define an API for the targets.

opaque vector types?

2009-05-06 Thread DJ Delorie
Is there an opaque vector type? Something that can be assigned to/from other vector types of the same size, without warning? I'm working on a coprocessor which has separate SIMD arithmetic operations for each data size, but only one SIMD logical operation for all sizes. I.e. there's four ADD

Re: opaque vector types?

2009-05-06 Thread DJ Delorie
Andrew Pinski pins...@gmail.com writes: You could do what the rs6000 back-end does for the altivec builtins and resolve them while the parser is run (the SPU back-end does the same thing too). Yes there are opaque vector types, you just use build_opaque_vector_type instead of

Re: CONSTRAINT__LIMIT

2009-05-04 Thread DJ Delorie
Ian, thanks for reporting this. I'll investigate this more. It affects only ports using priority allocation (I know only one which is m32c). DJ just recently reported a reload failure problem on m32c. Probably that is because of this wrong code. In checking through this code, I see that

Re: dg-warning: bogus target expectations?

2009-04-27 Thread DJ Delorie
I'm convinced that if check_effective_target_xxx exists then it is called and the test directive works as intended. Hmmm... how did you prove this? I tried putting verbose in them, nothing printed. I tried reversing them, no change in test results.

Re: testsuite fixes for small doubles

2009-04-27 Thread DJ Delorie
On Thu, 2009-04-23 at 20:34 -0400, DJ Delorie wrote: SH (and I'm sure others) has some multilibs (like -m2a-single-only) where sizeof(double) is 4, which breaks some testcases. Here's a patch which adds checks for small doubles (and small long doubles), and adjusts some of the tests

Re: dg-warning: bogus target expectations?

2009-04-27 Thread DJ Delorie
When you used verbose, did you pass --verbose within RUNTESTFLAGS? Yes, I passed enough -v's to see what was happening. Odd. Well, if you've proven it to yourself, that's good enough for me.

Re: testsuite fixes for small doubles

2009-04-24 Thread DJ Delorie
The fp-int-convert-long-double test does this: static volatile signed long long ivin, ivout; static volatile long double fv1, fv2; ivin = ((signed long long) (((unsigned long long) ~(unsigned long long) 0) 1)); fv1 = ((signed long long) (((unsigned long long) ~(unsigned long long) 0)

Re: testsuite fixes for small doubles

2009-04-24 Thread DJ Delorie
But it doesn't need to store it *exactly*; it only tests that the conversion reverses if PREC_OK (argument to TEST_I_F_VAL) is true, and TEST_I_F sets PREC_OK to what should be an appropriate value (based on the types involved, LDBL_MANT_DIG, etc.) in each case. The other tests are

Re: testsuite fixes for small doubles

2009-04-24 Thread DJ Delorie
The fp-int-convert tests are meant to be correct independent of the sizes involved, so this change is inappropriate and may point to a bug elsewhere. It did, I fixed it. Thanks for the insight.

<    3   4   5   6   7   8   9   10   11   12   >