Re: Issue with sub-object __builtin_object_size

2014-09-15 Thread Ulrich Weigand
Jakub Jelinek wrote: On Tue, Jun 10, 2014 at 07:37:50PM +0200, Ulrich Weigand wrote: the following C++ test case: struct pollfd { int fd; short int events; short int revents; }; struct Pollfd : public pollfd { }; struct Pollfd myfd[10]; int test

Re: Issue with sub-object __builtin_object_size

2014-09-15 Thread Ulrich Weigand
Jason Merrill wrote: On 09/15/2014 11:21 AM, Ulrich Weigand wrote: Jakub Jelinek wrote: On Tue, Jun 10, 2014 at 07:37:50PM +0200, Ulrich Weigand wrote: the following C++ test case: struct pollfd { int fd; short int events; short int revents; }; struct

Re: [PATCH][IRA] Analysis of register usage of functions for usage by IRA.

2014-09-03 Thread Ulrich Weigand
, call_used_reg_set) - || HARD_REGNO_CALL_PART_CLOBBERED (regno, mode)) If a register is in crossed_calls_clobber_regs, can it ever *not* be a call-clobbered register? Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers

Re: [PATCH PR62151]Fix uninitialized register issue caused by distribute_notes in combine pass

2014-09-02 Thread Ulrich Weigand
), which is invalid RTL. Now I guess this check could be relaxed if somewhere else in combine we'd recognize the substitution into a clobber and simply omit it in that case. Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: [PATCH][IRA] Analysis of register usage of functions for usage by IRA.

2014-09-01 Thread Ulrich Weigand
an oversight? Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: [IRA] some code improvement and s390 support

2014-09-01 Thread Ulrich Weigand
says BASE_REGNUM should be avoided, but the actual implementation of the macro seems to avoid *all* registers *but* BASE_REGNUM ... Am I misreading this, or is there indeed a logic error here? Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: [RFC: Patch, PR 60102] [4.9/4.10 Regression] powerpc fp-bit ices@dwf_regno

2014-08-04 Thread Ulrich Weigand
) : Likewise. (SPE_HIGH_REGNO_P) : New macro to identify SPE high registers. * gcc.target/powerpc/pr60102.c: New testcase. The patch is okay with me if Uli is satisfied. Yes, this is fine with me. Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain

Re: [RFC: Patch, PR 60102] [4.9/4.10 Regression] powerpc fp-bit ices@dwf_regno

2014-08-01 Thread Ulrich Weigand
approve the patch myself.) Thanks, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

[commit, s390] Fix TPF unwinder

2014-07-30 Thread Ulrich Weigand
Hello, I've checked in a fix provided by Jim Johnston on the TPF team to fix a case where the special TPF unwinder didn't work correctly. Tested on TPF by Jim, committed to mainline. Bye, Ulrich ChangeLog: gcc/ 2014-07-30 Ulrich Weigand ulrich.weig...@de.ibm.com * config/s390/s390

Re: [PATCH, rs6000, 4.8/4.9] Fix alignment of non-Altivec vector struct fields

2014-07-28 Thread Ulrich Weigand
the warning in the log, just as with the C and C++ tests, but the warning is filtered out by the dejagnu scripts and doesn't cause failures). However, I've been testing with the above version of the macro, not sure if that explains the difference. Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux

[commit, 4.8/4.9, libobjc] Match branch ABI (Re: [PATCH, rs6000, 4.8/4.9] Fix alignment of non-Altivec vector struct fields)

2014-07-28 Thread Ulrich Weigand
rs6000_special_adjust_field_align_p(FIELD, COMPUTED) \ + (TARGET_ALTIVEC TREE_CODE (TREE_TYPE (FIELD)) == VECTOR_TYPE) /* Skip a variable name, enclosed in quotes (). */ static inline -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: [RFC: Patch, PR 60102] [4.9/4.10 Regression] powerpc fp-bit ices@dwf_regno

2014-07-24 Thread Ulrich Weigand
rh1 */ \ + rs6000_reg_names[119][0], /* SPE rh2 */ \ You need to actually initialize those rs6000_reg_names field in rs6000.c if you refer to them here. Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig

Re: [PATCH, rs6000, v2] Fix ELFv2 homogeneous float aggregate ABI bug

2014-07-24 Thread Ulrich Weigand
David Edelsohn wrote: On Mon, Jul 14, 2014 at 2:52 PM, Ulrich Weigand uweig...@de.ibm.com wrote: gcc/testsuite/ChangLog: * config/rs6000/rs6000.c (rs6000_function_arg): If a float argument does not fit fully into floating-point registers, and there is still space

[PING, PATCH, testsuite] Reliably prune GCC notes in C++ compat suite

2014-07-23 Thread Ulrich Weigand
will -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

[PATCH, rs6000, 4.8/4.9] Fix ELFv2 homogeneous float aggregate ABI bug

2014-07-16 Thread Ulrich Weigand
} */ + +struct f8 + { +float x[8]; + }; + +void test (struct f8 a, struct f8 b) /* { dg-message note: the ABI of passing homogeneous float aggregates will change } */ +{ +} + -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

[PATCH, rs6000, 4.8/4.9] Fix aggregate alignment ABI issue

2014-07-16 Thread Ulrich Weigand
a) /* { dg-message note: the ABI of passing aggregates with 16-byte alignment will change } */ +{ +} + -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

[PATCH, rs6000, 4.8/4.9] Fix alignment of non-Altivec vector struct fields

2014-07-16 Thread Ulrich Weigand
} } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ +/* { dg-options -maltivec } */ + +struct test + { +int a __attribute__((vector_size (8))); + }; /* { dg-message note: the layout of aggregates containing vectors with 8-byte alignment will change } */ + -- Dr. Ulrich Weigand GNU

[PATCH, testsuite] Reliably prune GCC notes in C++ compat suite

2014-07-16 Thread Ulrich Weigand
the compat-use-*-compiler definitions. load_lib compat.exp +# Provide the g++-dg-prune routine (gcc-dp.exp is loaded by compat.exp) +load_lib g++-dg.exp + g++_init # Save variables for the C++ compiler under test, which each test will -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain

Re: [RFC, rs6000, v2] Fix alignment of non-Altivec vector struct fields

2014-07-15 Thread Ulrich Weigand
Richard Biener wrote: On Mon, Jul 14, 2014 at 8:55 PM, Ulrich Weigand uweig...@de.ibm.com wrote: Hello, this is an attempt to update the prior patch: https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00635.html to add a -Wpsabi note as discussed. However, this is causing a bit

[PATCH, rs6000, v2] Fix ELFv2 homogeneous float aggregate ABI bug

2014-07-14 Thread Ulrich Weigand
-options -mabi=elfv2 } */ + +struct f8 + { +float x[8]; + }; + +void test (struct f8 a, struct f8 b) /* { dg-message note: the ABI of passing homogeneous float aggregates has changed } */ +{ +} + -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

[PATCH, rs6000, v2] Fix aggregate alignment ABI issue

2014-07-14 Thread Ulrich Weigand
-byte alignment has changed } */ +{ +} + -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

[RFC, rs6000, v2] Fix alignment of non-Altivec vector struct fields

2014-07-14 Thread Ulrich Weigand
alignment has changed } */ + -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: [RFC, rs6000, v2] Fix alignment of non-Altivec vector struct fields

2014-07-14 Thread Ulrich Weigand
: the layout of aggregates containing vectors with 8-byte alignment has changed } */ + -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: [PATCH, rs6000] Fix ELFv2 homogeneous float aggregate ABI bug

2014-07-10 Thread Ulrich Weigand
. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

[PATCH, rs6000] Fix ELFv2 homogeneous float aggregate ABI bug

2014-07-09 Thread Ulrich Weigand
; + } } if (passed_in_gprs -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

[PATCH, rs6000] Fix aggregate alignment ABI issue

2014-07-09 Thread Ulrich Weigand
aggregate types are in fact not aligned. */ + else if (TARGET_MACHO rs6000_darwin64_abi mode == BLKmode type TYPE_ALIGN (type) 64) return 128; -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

[PATCH, rs6000] Fix alignment of non-Altivec vector struct fields

2014-07-09 Thread Ulrich Weigand
) \ - ((TARGET_ALTIVEC TREE_CODE (TREE_TYPE (FIELD)) == VECTOR_TYPE) \ -? 128 : COMPUTED) - #undef BIGGEST_FIELD_ALIGNMENT /* Use ELF style section commands. */ -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: [PATCH, rs6000] Fix alignment of non-Altivec vector struct fields

2014-07-09 Thread Ulrich Weigand
David Edelsohn wrote: On Wed, Jul 9, 2014 at 12:06 PM, Ulrich Weigand uweig...@de.ibm.com wrote: Hello, running the ABI compatibility test suite against another compiler showed strange effects caused by code in ADJUST_FIELD_ALIGN on rs6000: #define ADJUST_FIELD_ALIGN(FIELD, COMPUTED

Re: [commit] Fix ABI fallout (Re: wide-int, rs6000)

2014-06-30 Thread Ulrich Weigand
Mike Stump wrote: On Jun 28, 2014, at 3:31 AM, Ulrich Weigand uweig...@de.ibm.com wrote: Mike Stump wrote: (rs6000_aggregate_candidate): Use wide-int interfaces. [snip] - /* Can't handle incomplete types. */ - if (!COMPLETE_TYPE_P (type)) -return -1; + /* Can't handle

[commit] Fix ABI fallout (Re: wide-int, rs6000)

2014-06-28 Thread Ulrich Weigand
the ABI compatibility test suite.) Fortunately, this bug never made it into any (FSF or distribtion) GCC release, so we can simply fix it now without introducing any incompatibilities ... I've checked in the following patch as obvious. Bye, Ulrich ChangeLog: 2014-06-28 Ulrich Weigand ulrich.weig

Issue with attribute ((aligned)) ?

2014-06-17 Thread Ulrich Weigand
, not the pointed-to data ... (LLVM actually also does it this way.) Is this a bug in GCC (or the documentation)? Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Issue with sub-object __builtin_object_size

2014-06-10 Thread Ulrich Weigand
the notion of closest surrounding subobject? Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

[commit, spu] Fix regression (ICE) in g++.dg/torture/pr57499.C

2014-04-02 Thread Ulrich Weigand
} hbr_insn = insn; } ! if (INSN_CODE (insn) == CODE_FOR_blockage next_insn) { if (GET_MODE (insn) == TImode) PUT_MODE (next_insn, TImode); -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

[commit, spu] Fix regression (ICE) in gcc.dg/pr48335-2.c

2014-04-02 Thread Ulrich Weigand
(operands[1]) + INTVAL (operands[2]) ! GET_MODE_BITSIZE (GET_MODE (operands[0]))) ! FAIL; ! spu_expand_insv(operands); ! DONE; ! }) ;; Simplify a number of patterns that get generated by extv, extzv, ;; insv, and loads. -- Dr. Ulrich Weigand GNU/Linux compilers

[PATCH, rs6000] Avoid clobbering stack pointer via P8 fusion peephole

2014-03-27 Thread Ulrich Weigand
loaded is the stack pointer, we must + avoid loading any other value into it, even temporarily. */ + if (REG_P (target) REGNO (target) == STACK_POINTER_REGNUM) + return false; } base_reg = XEXP (addr, 0); -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain

Re: [4.8, PATCH 0/26] Backport Power8 and LE support

2014-03-20 Thread Ulrich Weigand
change is that sibcalls can be allowed in more cases than the current code allows. I concur with Jeff and Alan that 9/26 should be safe. Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

[PATCH] Support spu-elf in libstdc++ crossconfig.m4

2014-03-20 Thread Ulrich Weigand
Hello, currently, there is no support for spu-elf in crossconfig.m4. In the past, we've usually worked around this by configuring GCC with --with-newlib. But that has other drawbacks since it performs no link tests at all, and thus assumes only a very minimal set of features available via

Re: [PATCH] Support spu-elf in libstdc++ crossconfig.m4

2014-03-20 Thread Ulrich Weigand
Jonathan Wakely wrote: On 20 March 2014 18:04, Ulrich Weigand wrote: Hello, currently, there is no support for spu-elf in crossconfig.m4. In the past, we've usually worked around this by configuring GCC with --with-newlib. But that has other drawbacks since it performs no link tests

[patch, libgfortran] Fix SPU link failures (Re: Set close-on-exec flag when opening files)

2014-03-18 Thread Ulrich Weigand
#if HAVE_DLFCN_H *** done *** 16602,16607 --- 16603,16610 + + fi # Check strerror_r, cannot be above as versions with two and three arguments exist -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: [PATCH, rs6000] Restrict reload use of FLOAT_REGS

2014-03-03 Thread Ulrich Weigand
if (reg_class_subset_p (BASE_REGS, rclass)) return BASE_REGS; else return NO_REGS; } (which is similar to how we did it for s390). Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: [RS6000, patch] pr57936, ICE in rs6000_secondary_reload_inner

2014-02-26 Thread Ulrich Weigand
* reload1.c (emit_input_reload_insns): When reload_override_in, set old to rl-in_reg when rl-in_reg is a subreg. This is OK, assuming no regressions. Thanks, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: [RS6000, patch] pr57936, ICE in rs6000_secondary_reload_inner

2014-02-25 Thread Ulrich Weigand
the condition if OLDEQUIV and OLD are different should be true if the input value was inherited. Can you check whether this case is hit with your test case? Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: [RS6000] power8 internal compiler errors

2014-02-12 Thread Ulrich Weigand
ENABLE_CHECKING gcc_assert (find_replacement (XEXP (...)) == XEXP (...)); #endif Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: [RFA][middle-end/52306] Fix reload from creating invalid RTL

2014-02-10 Thread Ulrich Weigand
middle-end/52306 * reload1.c (emit_input_reload_insns): Do not create invalid RTL when changing the SET_DEST of a prior insn to avoid an input reload. This is OK. Thanks, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

[PATCH, rs6000] Remove most -mcall- options from consideration in ENDIAN_SELECT

2014-02-08 Thread Ulrich Weigand
}, \ { cpp_os_yellowknife, CPP_OS_YELLOWKNIFE_SPEC }, \ -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: var-tracking and s390's LM(G)

2014-02-05 Thread Ulrich Weigand
.html Actually, now I think the problem originally described there is still valid: on s390 the CFA is *not* equal to the value at function entry, but biased by 96/160 bytes. So setting the SP to the CFA is wrong ... Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain

Re: var-tracking and s390's LM(G)

2014-02-05 Thread Ulrich Weigand
is wrong ... Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: var-tracking and s390's LM(G)

2014-02-05 Thread Ulrich Weigand
Jakub Jelinek wrote: On Wed, Feb 05, 2014 at 10:26:16PM +0100, Ulrich Weigand wrote: Actually, now I think the problem originally described there is still valid: on s390 the CFA is *not* equal to the value at function entry, but biased by 96/160 bytes. So setting the SP to the CFA is wrong

Re: [PATCH, rs6000] Fix order of TDmode in FPRs in little-endian mode

2013-11-20 Thread Ulrich Weigand
David Edelsohn wrote: On Mon, Nov 18, 2013 at 3:07 PM, Ulrich Weigand uweig...@de.ibm.com wrote: Also note that this patch does not change how TDmode values are loaded into GPRs: on little-endian, this means we do get the usual LE subreg order there (least significant word in lowest

[PATCH, rs6000] Fix ICE when loading vectors into GPRs in little-endian

2013-11-19 Thread Ulrich Weigand
) MODEmode != TImode + !gpr_or_gpr_p (operands[0], operands[1]) (memory_operand (operands[0], MODEmode) ^ memory_operand (operands[1], MODEmode))) { -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

[PATCH, rs6000] Make ppc64-abi-2.c test case endian safe

2013-11-19 Thread Ulrich Weigand
)) abort(); } -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

[PATCH, rs6000] Make darwin-longlong.c test case endian-safe

2013-11-19 Thread Ulrich Weigand
(working copy) @@ -11,7 +11,11 @@ int i[2]; } ud; ud.ll = in; +#ifdef __LITTLE_ENDIAN__ + return ud.i[1]; +#else return ud.i[0]; +#endif } int main() -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

[PATCH, rs6000] Fix order of TDmode in FPRs in little-endian mode

2013-11-18 Thread Ulrich Weigand
register range backwards, if we might have destructive -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: [PATCH, PR 57363] IBM long double: adding qNaN and number raises inexact exception

2013-11-18 Thread Ulrich Weigand
: New test. +/* Check if adding a sNAN and a normal long double does not generate a + inexact exception. */ qNaN again :-) Thanks, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

[PATCH, rs6000] Fix little-endian access to sdmode_stack_slot

2013-11-17 Thread Ulrich Weigand
); emit_insn (gen_movsd_hardfloat (operands[0], mem)); } -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: [PATCH] Document -mabi=elfv[12] (Re: [PATCH, rs6000] ELFv2 ABI 1/8: Add options and infrastructure)

2013-11-15 Thread Ulrich Weigand
David Edelsohn wrote: On Thu, Nov 14, 2013 at 5:07 PM, Ulrich Weigand uweig...@de.ibm.com wrote: Here's a patch to add documentation along the lines of what we have for the longdouble switches. Doc build tested on powerpc64-linux. David, would that be OK for mainline, or do have

Re: [PATCH, PR 57363] IBM long double: adding qNaN and number raises inexact exception

2013-11-15 Thread Ulrich Weigand
it to the GCC test suite ... Otherwise, this looks reasonable to me (but I cannot approve the patch): Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: patch to implement thread coloring in IRA

2013-11-14 Thread Ulrich Weigand
Vladimir Makarov wrote: On 11/13/2013, 8:34 PM, Ulrich Weigand wrote: Unfortunately, this patch causes cc1 for powerpc64-linux to crash for me even when compiling int main () { return 0; } with -O due to a memory corruption somewhere: I've just fixed it, Ulrich. Really sorry

Re: [PATCH][PR middle-end/59119] Avoid referencing released SSA_NAMEs

2013-11-14 Thread Ulrich Weigand
): Remove statements in reverse order. This does indeed fix the Python build problem for me. Thanks, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: [PATCH] Fix failing assertion in calls.c:store_unaligned_arguments_into_pseudos

2013-11-14 Thread Ulrich Weigand
Jeff Law wrote: On 11/11/13 07:32, Ulrich Weigand wrote: 2013-11-11 Ulrich Weigand ulrich.weig...@de.ibm.com * calls.c (store_unaligned_arguments_into_pseudos): Skip PARALLEL arguments. OK, so after a lot of worrying, I think this is OK. I kept thinking this had to tie

Re: [PATCH, rs6000] ELFv2 ABI 1/8 - 8/8

2013-11-14 Thread Ulrich Weigand
-existing bug (either the alignment is computed incorrectly, or it is not being respected properly throughout the toolchain), and you were seeing successful runs in the past simply because the structs just happened to end up at aligned addresses ... Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux

[PATCH] Document -mabi=elfv[12] (Re: [PATCH, rs6000] ELFv2 ABI 1/8: Add options and infrastructure)

2013-11-14 Thread Ulrich Weigand
Joseph Myers wrote: On Tue, 12 Nov 2013, Ulrich Weigand wrote: Therefore, it is introduces via a new pair of options -mabi=elfv1 / -mabi=elfv2 where -mabi=elfv1 select the current Linux ABI, and -mabi=elfv2 selects the new one. New command-line options need invoke.texi

Re: [RFA][PATCH] Isolate erroneous paths optimization

2013-11-13 Thread Ulrich Weigand
://gcc.gnu.org/bugzilla/show_bug.cgi?id=59119 for a reduced test case ... Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: patch to implement thread coloring in IRA

2013-11-13 Thread Ulrich Weigand
/gcc/ira.c:5565 Bye, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: patch to implement thread coloring in IRA

2013-11-13 Thread Ulrich Weigand
, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com

Re: [PATCH, rs6000] ELFv2 ABI 1/8: Add options and infrastructure

2013-11-12 Thread Ulrich Weigand
Joseph Myers wrote: On Mon, 11 Nov 2013, Ulrich Weigand wrote: The ELFv2 ABI is the intended ABI for the new powerpc64le-linux port. However, it is not inherently tied to the byte order; it it possible in principle to use the ELFv2 ABI in big-endian mode too. I'd rather, from a glibc

[PATCH] Fix failing assertion in calls.c:store_unaligned_arguments_into_pseudos

2013-11-11 Thread Ulrich Weigand
. Tested on powerpc64-linux and powerpc64le-linux. OK for mainline? Bye, Ulrich ChangeLog: 2013-11-11 Ulrich Weigand ulrich.weig...@de.ibm.com * calls.c (store_unaligned_arguments_into_pseudos): Skip PARALLEL arguments. Index: gcc/gcc/calls.c

[PATCH] Avoid duplicate calls to REG_PARM_STACK_SPACE

2013-11-11 Thread Ulrich Weigand
2013-11-11 Ulrich Weigand ulrich.weig...@de.ibm.com Alan Modra amo...@gmail.com ChangeLog: * function.c (assign_parms): Use all.reg_parm_stack_space instead of re-evaluating REG_PARM_STACK_SPACE target macro. (locate_and_pad_parm): New parameter

[PATCH, rs6000] Fix little-endian bug in linux-unwind.h

2013-11-11 Thread Ulrich Weigand
of that field is different in little-endian. Tested on powerpc64-linux and powerpc64le-linux. OK for mainline? Bye, Ulrich libgcc/ChangeLog: 2013-11-11 Ulrich Weigand ulrich.weig...@de.ibm.com Alan Modra amo...@gmail.com * config/rs6000/linux-unwind.h (ppc_fallback_frame_state

[PATCH, rs6000] Fix corner case in unwinding CR values

2013-11-11 Thread Ulrich Weigand
on powerpc64-linux and powerpc64le-linux. OK for mainline? Bye, Ulrich ChangeLog: 2013-11-11 Ulrich Weigand ulrich.weig...@de.ibm.com * config/rs6000/rs6000.c (rs6000_emit_prologue): Do not place a RTX_FRAME_RELATED_P marker on the UNSPEC_MOVESI_FROM_CR insn. Instead, add

[PATCH, rs6000] ELFv2 ABI preparation: Refactor call expanders

2013-11-11 Thread Ulrich Weigand
ChangeLog: 2013-11-11 Ulrich Weigand ulrich.weig...@de.ibm.com * config/rs6000/rs6000.c (rs6000_call_indirect_aix): Rename to ... (rs6000_call_aix): ... this. Handle both direct and indirect calls. Create call insn directly instead of via various gen_... routines

[PATCH, rs6000] ELFv2 ABI preparation: Refactor rs6000_function_arg

2013-11-11 Thread Ulrich Weigand
them for both floating-point and vector arguments. For the current ABI, the result should be exactly the same. No change in generated code intented. Tested on powerpc64-linux and powerpc64le-linux. OK for mainline? Bye, Ulrich ChangeLog: 2013-11-11 Ulrich Weigand ulrich.weig...@de.ibm.com

[PATCH, rs0000] ELFv2 ABI preparation: Refactor some uses of ABI_AIX

2013-11-11 Thread Ulrich Weigand
. OK for mainline? Bye, Ulrich ChangeLog: 2013-11-11 Ulrich Weigand ulrich.weig...@de.ibm.com * config/rs6000/rs6000.c (rs6000_option_override_internal): Replace DEFAULT_ABI != ABI_AIX test by testing for ABI_V4 or ABI_DARWIN. (rs6000_savres_strategy): Likewise

[PATCH, rs6000] ELFv2 ABI preparation: Remove USE_FP/ALTIVEC_FOR_ARG_P type arg

2013-11-11 Thread Ulrich Weigand
in generated code intented. Tested on powerpc64-linux and powerpc64le-linux. OK for mainline? Bye, Ulrich ChangeLog: 2013-11-11 Ulrich Weigand ulrich.weig...@de.ibm.com * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Remove TYPE argument. (USE_ALTIVEC_FOR_ARG_P): Likewise

[PATCH, rs6000] ELFv2 ABI preparation: Refactor rs6000_arg_partial_bytes

2013-11-11 Thread Ulrich Weigand
the logic by making explicit the fact that rs6000_arg_partial_bytes does not actually need to handle the cases described above. No change in generated code expected. Tested on powerpc64-linux and powerpc64le-linux. OK for mainline? Bye, Ulrich ChangeLog: 2013-11-11 Ulrich Weigand ulrich.weig

[PATCH, rs6000] ELFv2 ABI 3/8: Track single CR fields in DWARF CFI

2013-11-11 Thread Ulrich Weigand
uw_install_context to install values for multiple fields. (Note that there is already precedent for unwinder routines being treated specially in the rs6000.c prologue/epilogue code ...) Bye, Ulrich gcc/ChangeLog: 2013-11-11 Ulrich Weigand ulrich.weig...@de.ibm.com * config/rs6000/rs6000

[PATCH, rs6000] ELFv2 ABI 2/8: Remove function descriptors

2013-11-11 Thread Ulrich Weigand
markers emitted by readelf --symbols that indicate local entry points. - Fix the gotest script to no longer expect function symbols to reside in the data segment. (I understand this last bit needs to go into the Go repository first ...) Bye, Ulrich gcc/ChangeLog: 2013-11-11 Ulrich Weigand

[PATCH, rs6000] ELFv2 ABI 1/8: Add options and infrastructure

2013-11-11 Thread Ulrich Weigand
/ChangeLog: 2013-11-11 Ulrich Weigand ulrich.weig...@de.ibm.com * config.gcc [powerpc*-*-* | rs6000-*-*]: Support --with-abi=elfv1 and --with-abi=elfv2. * config/rs6000/option-defaults.h (OPTION_DEFAULT_SPECS): Add abi. * config/rs6000/rs6000.opt (mabi=elfv1): New option

[PATCH, rs6000] ELFv2 ABI 4/8: Struct passing calling convention changes

2013-11-11 Thread Ulrich Weigand
called for BLKmode arguments, and has to handle them using a PARALLEL. Bye, Ulrich ChangeLog: 2013-11-11 Ulrich Weigand ulrich.weig...@de.ibm.com Michael Gschwind m...@us.ibm.com * config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define. * config/rs6000/rs6000.c

[PATCH, rs6000] ELFv2 ABI 7/8: Eliminate some stack frame fields

2013-11-11 Thread Ulrich Weigand
... The patch also updates a number of test cases that hardcoded the stack layout. Bye, Ulrich gcc/ChangeLog: 2013-11-11 Ulrich Weigand ulrich.weig...@de.ibm.com Alan Modra amo...@gmail.com * config/rs6000/rs6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2

[PATCH, rs6000] ELFv2 ABI 5/8: Struct return calling convention changes

2013-11-11 Thread Ulrich Weigand
value is returned formatted exactly as if it were being passed as first argument. In order to get this correct in the big-endian ELFv2 case, we need to provide a non-default implementation of TARGET_RETURN_IN_MSB. Bye, Ulrich ChangeLog: 2013-11-11 Ulrich Weigand ulrich.weig...@de.ibm.com

[PATCH, rs6000] ELFv2 ABI 6/8: Eliminate register save area in some cases

2013-11-11 Thread Ulrich Weigand
: 2013-11-11 Ulrich Weigand ulrich.weig...@de.ibm.com Alan Modra amo...@gmail.com * config/rs6000/rs6000-protos.h (rs6000_reg_parm_stack_space): Add prototype. * config/rs6000/rs6000.h (RS6000_REG_SAVE): Remove. (REG_PARM_STACK_SPACE): Call

[PATCH, rs6000] ELFv2 ABI 8/8: Enable by default on little-endian

2013-11-11 Thread Ulrich Weigand
Hello, this patch finally throws the switch and enables the ELFv2 ABI by default on powerpc64le-linux. Bye, Ulrich ChangeLog: 2013-11-11 Ulrich Weigand ulrich.weig...@de.ibm.com * config/rs6000/sysv4le.h (LINUX64_DEFAULT_ABI_ELFv2): Define. Index: gcc/gcc/config/rs6000/sysv4le.h

Re: [PATCH] Fix failing assertion in calls.c:store_unaligned_arguments_into_pseudos

2013-11-11 Thread Ulrich Weigand
Jeff Law wrote: On 11/11/13 07:32, Ulrich Weigand wrote: However, looking more closely, it seems store_unaligned_arguments_into_pseudos is not really useful for PARALLEL arguments in the first place. What this routine does is load arguments into args[i].aligned_regs. But if we have

Re: RFA: fix find_valid_class to accept classes w/out last hard reg

2013-08-26 Thread Ulrich Weigand
Joern Rennecke wrote: 2013-05-02 Joern Rennecke joern.renne...@embecosm.com * reload.c (find_valid_class): Allow classes that do not include FIRST_PSEUDO_REGISTER - 1. This is OK. Thanks, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig

[PATCH, rs6000] Keep TOC register live in TLS lo_sum patterns

2013-07-10 Thread Ulrich Weigand
) + (match_operand:TLSmode 2 rs6000_tls_symbol_ref )] UNSPEC_TLSGOTTPREL)))] HAVE_AS_TLS TARGET_CMODEL != CMODEL_SMALL lTLSmode:tls_insn_suffix %0,%2@got@tprel@l(%1) -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE ulrich.weig...@de.ibm.com

Re: [PATCH] DATA_ALIGNMENT vs. DATA_ABI_ALIGNMENT (PR target/56564)

2013-06-10 Thread Ulrich Weigand
for every use, too.) Bye, Ulrich -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE ulrich.weig...@de.ibm.com

Re: Reload and addsi

2013-06-06 Thread Ulrich Weigand
will never transform paradoxical subregs to accessing excess bytes in memory any more. Bye, Ulrich -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE ulrich.weig...@de.ibm.com

[commit] Fix SPU breakage (Re: [patch] Stop using JUMP_INSN for jump table data)

2013-04-03 Thread Ulrich Weigand
) = UNKNOWN_LOCATION; + return; + } + p = get_pipe (insn); if ((CALL_P (insn) || JUMP_P (insn)) SCHED_ON_EVEN_P (insn)) new_insn = emit_insn_after (gen_lnop (), insn); -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE ulrich.weig...@de.ibm.com

Re: [RFA] Fix DEBUG_RELOAD support

2013-02-04 Thread Ulrich Weigand
Matthew Gretton-Dann wrote: 2013-02-02 Matthew Gretton-Dann matthew.gretton-d...@linaro.org * gcc/reload.c (subst_reloads): Fix DEBUG_RELOAD build issue. This is OK. Thanks, Ulrich -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE ulrich.weig

Re: [Patch] Fix PR54814

2013-01-28 Thread Ulrich Weigand
is probably not limited to AVR. Indeed, the fix also looks quite obvious though I know nothing about the code at all. Thus, ok from a RM perspective if a reload-affine person approves it. The patch was originally by Bernd, but FWIW it looks good to me as well. Bye, Ulrich -- Dr. Ulrich Weigand

Re: [Patch] Ignore Invalid Memory operands in constraint 'X'

2013-01-23 Thread Ulrich Weigand
the compiler shouldn't crash either, but I guess it really ought to be possible to fix this problem elsewhere. Bye, Ulrich -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE ulrich.weig...@de.ibm.com

Re: [RFC] Wrong register numbers in .dwarf_frame on Linux/PowerPC

2012-11-27 Thread Ulrich Weigand
Mark Kettenis wrote: Date: Mon, 26 Nov 2012 20:10:06 +0100 (CET) From: Ulrich Weigand uweig...@de.ibm.com Hello, I noticed what appears to be a long-standing bug in generating .dwarf_frame sections with GCC on Linux on PowerPC. ... So I'm wondering where to go from here

Re: [RFC] Wrong register numbers in .dwarf_frame on Linux/PowerPC

2012-11-27 Thread Ulrich Weigand
-bit i386, and some other operating systems on ppc (AIX, Darwin, BSD). Bye, Ulrich -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE ulrich.weig...@de.ibm.com

Re: [RFC] Wrong register numbers in .dwarf_frame on Linux/PowerPC

2012-11-27 Thread Ulrich Weigand
David Edelsohn wrote: On Mon, Nov 26, 2012 at 2:10 PM, Ulrich Weigand uweig...@de.ibm.com wrote: So I'm wondering where to go from here. I guess we could: 1. Bring GCC (and gas) behaviour in compliance with the documented ABI by removing the #undef DBX_REGISTER_NUMBER and changing

[RFC] Wrong register numbers in .dwarf_frame on Linux/PowerPC

2012-11-26 Thread Ulrich Weigand
the condition code hack: simply use identical numbers in .eh_frame and .dwarf_frame. This would make PowerPC like other Linux platforms in that respect. Thoughts? Bye, Ulrich -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE ulrich.weig...@de.ibm.com

[PING, PATCH, ARM] Improved core - NEON extend

2012-11-23 Thread Ulrich Weigand
http://gcc.gnu.org/ml/gcc-patches/2012-11/msg00984.html Ping. Thanks, Ulrich -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE ulrich.weig...@de.ibm.com

Re: [patch] [s390] add multiarch definitions for s390-linux-gnu

2012-11-21 Thread Ulrich Weigand
Matthias Klose wrote: 2012-11-14 Matthias Klose d...@ubuntu.com * config/s390/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES. This is OK. Thanks, Ulrich -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE ulrich.weig...@de.ibm.com

Re: VEC re-write [patch 01/25]

2012-11-20 Thread Ulrich Weigand
; which apparently is no longer a POD type? Bye, Ulrich -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE ulrich.weig...@de.ibm.com

Re: [PR middle-end/55398] Convert vec into a POD

2012-11-20 Thread Ulrich Weigand
to vec_PRIVATE_. Update all users. (va_heap::release): Do nothing if V is NULL. (va_stack::release): Likewise. Committed as rev 193667. This fixed the spu-elf build failure. Thanks! Bye, Ulrich -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE ulrich.weig

<    1   2   3   4   5   6   7   >