the store-multiple
--
Alan Modra
Australia Development Lab, IBM
,
cfa_restores);
}
--
Alan Modra
Australia Development Lab, IBM
This patch adds out-of-line vector saves and restores. To do this I
made some infrastructure changes to various functions like
rs6000_emit_savres_rtx that currently take boolean parameters (savep,
gpr, and lr). Rather than add yet another boolean to specify vector
regs, I chose to lump them all
;
+}
--
Alan Modra
Australia Development Lab, IBM
On Wed, Apr 25, 2012 at 02:00:48PM -0700, Richard Henderson wrote:
On 04/20/12 18:58, Alan Modra wrote:
+ add_reg_note (insn, REG_FRAME_RELATED_EXPR, set);
+ RTX_FRAME_RELATED_P (insn) = 1;
You're probably better off using REG_CFA_REGISTER here,
rather than making dwarf2cfi.c
machine_mode,
--
Alan Modra
Australia Development Lab, IBM
,
cfa_restores);
--
Alan Modra
Australia Development Lab, IBM
On Tue, May 01, 2012 at 01:47:51PM +0930, Alan Modra wrote:
This revision splits the medium/large code model toc reference after
reload.
Ping http://gcc.gnu.org/ml/gcc-patches/2012-05/msg6.html
--
Alan Modra
Australia Development Lab, IBM
to == STACK_POINTER_REGNUM
@@ -28205,6 +27995,7 @@
/* This function emits the simple thunk routine that is used to preserve
the link stack on the 476 cpu. */
+static void rs6000_code_end (void) ATTRIBUTE_UNUSED;
static void
rs6000_code_end (void)
{
--
Alan Modra
Australia Development
On Tue, May 08, 2012 at 08:02:39PM +0930, Alan Modra wrote:
I also make use of gen_frame_store and siblings that I invented for
generating the eh info, elsewhere in rs6000.c where doing so is
blindingly obvious. We could probably use them in other places too,
but I'll leave that for later
;
}
-#else
- if (TARGET_AIX !(strategy REST_INLINE_FPRS))
+ else if (TARGET_AIX !(strategy REST_INLINE_FPRS))
strategy |= REST_NOINLINE_FPRS_DOESNT_RESTORE_LR;
-#endif
+
if (TARGET_MACHO !(strategy SAVE_INLINE_FPRS))
strategy |= SAVE_NOINLINE_FPRS_SAVES_LR;
--
Alan Modra
gcc defaulting to -m64 builds the 32-bit
libraries with -mstrict-align. This is confusing to say the least,
and I recall seeing libstdc++ test failures due to the difference.
I've had MULTILIB_EXTRA_OPTS = in my t-linux64 for quite some time.
--
Alan Modra
Australia Development Lab, IBM
memory_operand Y,Y)]
UNSPEC_SP_TEST))
(set (match_scratch:DI 4 =r,r) (const_int 0))
(clobber (match_scratch:DI 3 =r,r))]
--
Alan Modra
Australia Development Lab, IBM
= CODE_FOR_reload_si_load;
--
Alan Modra
Australia Development Lab, IBM
false;
+ gcc_assert (extra = 0);
return offset + 0x8000 0x1u - extra;
}
--
Alan Modra
Australia Development Lab, IBM
))]
+ [(set (match_operand:V2SF 0 nonimmediate_operand =Z,f,f,Y,r,r,f)
+(match_operand:V2SF 1 input_operand f,Z,f,r,Y,r,W))]
TARGET_PAIRED_FLOAT
(register_operand (operands[0], V2SFmode)
|| register_operand (operands[1], V2SFmode))
--
Alan Modra
Australia
+ {
+ unsigned int *insn
+ = (unsigned int *) _Unwind_GetGR (context, R_LR);
+ if (insn *insn == 0xE8410028)
+ _Unwind_SetGRPtr (context, 2, context-cfa + 40);
+ }
}
#endif
}
--
Alan Modra
Australia Development Lab, IBM
On Wed, Jul 27, 2011 at 03:00:45PM +0930, Alan Modra wrote:
Ideally what I'd like to
do is have ld and gcc emit accurate r2 tracking unwind info and
dispense with hacks like frob_update_context. If ld did emit accurate
unwind info for .glink, then the justification for frob_update_context
On Thu, Jul 28, 2011 at 11:49:16AM -0700, Richard Henderson wrote:
On 07/28/2011 12:27 AM, Alan Modra wrote:
On Wed, Jul 27, 2011 at 03:00:45PM +0930, Alan Modra wrote:
Ideally what I'd like to
do is have ld and gcc emit accurate r2 tracking unwind info and
dispense with hacks like
for functions that
have a lot of calls, since the offset is limited to +/-32k. I think
that would inflate the size of .eh_frame too much, and slow down
handling of exceptions dramatically.
--
Alan Modra
Australia Development Lab, IBM
On Fri, Jul 29, 2011 at 10:57:48AM +0930, Alan Modra wrote:
Except that any info about r2 in an indirect call sequence really
belongs to the *called* function frame, not the callee. I woke up
this morning with the realization that what I'd done in
frob_update_context for indirect call
is
info about the previous r2, so we can restore when unwinding.
I made a similar mistake in frob_update_context in that the value
saved by an indirect function call sequence is the r2 for the current
function. I also restored from the wrong location.
--
Alan Modra
Australia Development Lab, IBM
On Fri, Jul 29, 2011 at 10:28:28PM +0930, Alan Modra wrote:
libgcc/
* config/rs6000/linux-unwind.h (frob_update_context __powerpc64__):
Restore for indirect call bcrtl from correct stack slot, and only
if cfa+40 isn't valid.
gcc/
* config/rs6000/rs6000-protos.h
)
@@ -20505,6 +20505,7 @@ rs6000_emit_prologue (void)
rs6000_emit_load_toc_table (TRUE);
insn = emit_move_insn (lr, frame_ptr_rtx);
+ add_reg_note (insn, REG_CFA_RESTORE, lr);
RTX_FRAME_RELATED_P (insn) = 1;
}
else
--
Alan Modra
Australia Development
:
return;
case DEBUG_INSN:
@@ -5257,6 +5259,7 @@ copy_insn_1 (rtx orig)
case CODE_LABEL:
case PC:
case CC0:
+case RETURN:
return orig;
case CLOBBER:
if (REG_P (XEXP (orig, 0)) REGNO (XEXP (orig, 0))
FIRST_PSEUDO_REGISTER)
--
Alan Modra
Australia
)
- 32767
+ use_backchain_to_restore_sp = (info-total_size 32767 -
info-lr_save_offset
|| (cfun-calls_alloca
!frame_pointer_needed));
restore_lr = (info-lr_save_p
(restoring_FPRs_inline
--
Alan
. The reg clashes with
the static chain pointer (nb_all is a nested function), so this is a
real bug that the register checks have uncovered. I haven't
determined whether this is a new bug introduced with my prologue
changes, or whether it's a long-standing bug. I suspect the latter.
--
Alan Modra
On Thu, May 31, 2012 at 09:43:09AM +0930, Alan Modra wrote:
real bug that the register checks have uncovered. I haven't
determined whether this is a new bug introduced with my prologue
changes, or whether it's a long-standing bug. I suspect the latter.
Looks like it is one I introduced. gcc
On Thu, May 31, 2012 at 10:41:26AM +0930, Alan Modra wrote:
Looks like it is one I introduced. gcc-4.6 uses r12 to save altivec
regs, my new code tries to use r11. Will fix.
Please try out this patch on Darwin. Bootstrapped and regression
tested powerpc-linux.
gcc/
* config/rs6000
On Thu, May 31, 2012 at 02:16:32PM +0200, Dominique Dhumieres wrote:
(the final patch will require the suitable dg directives;-).
This is really stretching my testsuite knowledge. Maybe add
/* { dg-additional-options -mdynamic-no-pic { target *-*-darwin* } } */
--
Alan Modra
Australia
in here. s/val/new_val/
--
Alan Modra
Australia Development Lab, IBM
;
...
}
and the compiler optimised i = *p to i = foo, then you'd be in
trouble because the hardware won't see the load from foo having any
dependency on p.
--
Alan Modra
Australia Development Lab, IBM
)
GET_CODE (XEXP (addr, 1)) == CONST_INT)
{
unsigned HOST_WIDE_INT val = INTVAL (XEXP (addr, 1));
- return val + 12 + 0x8000 = 0x1;
+ return val + 0x8000 = 0x1 - (TARGET_POWERPC64 ? 8 : 12);
}
break;
--
Alan Modra
Australia Development Lab, IBM
3 =r,r))]
--
Alan Modra
Australia Development Lab, IBM
On Thu, Jul 19, 2012 at 12:34:25PM +0930, Alan Modra wrote:
and fixes pr54009.
David, in looking over this today, I realised that this bug isn't
completely fixed. I stopped gcc emitting an offset of 32768, but that
isn't enough. lo_sum addresses can't be offset, except when you know
On Fri, Jul 20, 2012 at 12:05:28AM +0930, Alan Modra wrote:
On Thu, Jul 19, 2012 at 12:34:25PM +0930, Alan Modra wrote:
and fixes pr54009.
David, in looking over this today, I realised that this bug isn't
completely fixed. I stopped gcc emitting an offset of 32768, but that
isn't enough
On Thu, Oct 27, 2011 at 12:24:46AM +1030, Alan Modra wrote:
more code than duplicating epilogues. From what I've seen, the
duplicate tails are generally very small. I guess I should dump out
some info so we can get a better idea.
There were 545 occurrences of shrink-wrap in the gcc/ dir
:
*** 6281,6287
--- 6491,6499
}
#endif
+ #ifdef HAVE_simple_return
bitmap_clear (bb_flags);
+ #endif
/* Threading the prologue and epilogue changes the artificial refs
in the entry and exit blocks. */
--
Alan Modra
Australia Development Lab, IBM
On Tue, Nov 01, 2011 at 12:57:22AM +1030, Alan Modra wrote:
Bits left to do
- limit size of duplicated tails
Done here. Also fixes a hole in that I took no notice of
targetm.cannot_copy_insn_p when duplicating tails.
One interesting result is that the tail duplication actually reduces
rs6000_code_end (void) ATTRIBUTE_UNUSED;
/* Hash table stuff for keeping track of TOC entries. */
--
Alan Modra
Australia Development Lab, IBM
) == 11)
- sp_offset += info-fp_size;
+ if (REGNO (frame_reg_rtx) == REGNO (src_reg))
+ sp_offset = info-fp_size;
}
rs6000_emit_savres_rtx (info, frame_reg_rtx,
--
Alan Modra
Australia Development Lab, IBM
Ping http://gcc.gnu.org/ml/gcc-patches/2011-10/msg02429.html
Eric fixed the bootstrap breakage by another patch, but there is a
fairly obvious bug in gen_reload fixed by my patch. I gave enough
contect in the diff that you don't even need to look at the file. :)
--
Alan Modra
Australia
+ if (DEFAULT_ABI == ABI_V4
|| (TARGET_SPE_ABI
info-spe_64bit_regs_used != 0
info-first_gp_reg_save != 32))
--
Alan Modra
Australia Development Lab, IBM
islands were inserted to reach the common code.
Yes, but that doesn't happen on powerpc-linux until code size goes
above 33M. We get a (small) gain otherwise when able to use the
exit versions of the out-of-line restores.
Bootstrapped this,
Thanks!
--
Alan Modra
Australia Development Lab, IBM
/msg00123.html
The failure can still be exposed on mainline with a minor adjustment
to the C testcase quoted in the msg.
Even after revision 181056?
--
Alan Modra
Australia Development Lab, IBM
certainly be safer to use the big hammer, but on the other hand
it can restrict scheduling unnecessarily. For example
void byref (int *a)
{
int x;
asm (#%0 set here : =r (x) : : r29, r30);
*a = x;
}
with the existing stack ties, the write to *a happens after stack
deallocation.
--
Alan
On Tue, Nov 08, 2011 at 12:30:36AM +, Joseph S. Myers wrote:
On Tue, 8 Nov 2011, Alan Modra wrote:
OK, so you made the stack ties conflict with all memory. I wondered
about that too, but didn't find a testcase where it mattered. It
The test I had was one of those from the various
--
Alan Modra
Australia Development Lab, IBM
);
--
Alan Modra
Australia Development Lab, IBM
in that function.
--
Alan Modra
Australia Development Lab, IBM
hwsync
[(set (match_dup 0)
(unspec:BLK [(match_dup 0)] UNSPEC_SYNC))]
--
Alan Modra
Australia Development Lab, IBM
Free Software Foundation, Inc.
+ Contributed by Alan Modra amo...@au1.ibm.com
+
+ This file is part of the GNU OpenMP Library (libgomp).
+
+ Libgomp is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free
On Thu, Nov 17, 2011 at 02:56:31PM -1000, Richard Henderson wrote:
On 11/17/2011 01:56 AM, Alan Modra wrote:
This is part of work in progress getting locking back into shape on
powerpc. (If we ever were in shape, which is doubtful.) Using the
ia64 version means we have a needless sync
me down to just one libgomp failure.
--
Alan Modra
Australia Development Lab, IBM
the OK. Committed revision 181684.
--
Alan Modra
Australia Development Lab, IBM
===
--- libgomp/config/linux/mutex-lock.h (revision 0)
+++ libgomp/config/linux/mutex-lock.h (revision 0)
@@ -0,0 +1,35 @@
+/* Copyright (C) 2011 Free Software Foundation, Inc.
+ Contributed by Alan Modra, IBM.
+
+ This file is part of the GNU OpenMP Library (libgomp).
+
+ Libgomp is free software; you
of the tests. I suspect the acquire/release mutex
locking may have exposed bugs elsewhere in libgomp that were covered
by the heavyweight locking used by the __sync builtins.
--
Alan Modra
Australia Development Lab, IBM
= *sem, wake;
-
- do
-{
- old = tmp;
- wake = old 0 ? old + 1 : 1;
- tmp = __sync_val_compare_and_swap (sem, old, wake);
-}
- while (old != tmp);
-
- futex_wake (sem, wake);
+ futex_wake (sem, 1);
}
--
Alan Modra
Australia Development Lab, IBM
. */
-
-#include config/linux/ia64/mutex.h
--
Alan Modra
Australia Development Lab, IBM
))
gomp_barrier_handle_tasks (state);
- if ((bar-generation 2))
+ gen = __atomic_load_4 (bar-generation, MEMMODEL_ACQUIRE);
+ if ((gen 2) != 0)
generation |= 2;
}
- while (bar-generation != state + 4);
+ while (gen != state + 4);
}
void
--
Alan Modra
Australia
On Mon, Nov 28, 2011 at 09:27:20AM +1030, Alan Modra wrote:
This is the mutex part. Depends on
http://gcc.gnu.org/ml/gcc-patches/2011-11/msg02454.html for MEMMODEL_*
values.
Arrgh, I posted the wrong patch. I know it needs work elsewhere in
libgomp to comply with the OMP spec, which says
On Sun, Nov 27, 2011 at 08:36:38PM -0500, David Edelsohn wrote:
I was hoping that other targets affected by the patch would test it as well.
powerpc-linux and powerpc64-linux look good.
--
Alan Modra
Australia Development Lab, IBM
On Mon, Nov 28, 2011 at 09:15:02AM +0100, Jakub Jelinek wrote:
On Mon, Nov 28, 2011 at 10:37:09AM +1030, Alan Modra wrote:
14 A flush region without a list is implied at the following locations:
15 • During a barrier region.
16 • At entry to and exit from parallel, critical, and ordered
On Mon, Nov 28, 2011 at 09:13:27AM +0100, Jakub Jelinek wrote:
On Mon, Nov 28, 2011 at 10:12:09AM +1030, Alan Modra wrote:
--- libgomp/config/linux/bar.c (revision 181718)
+++ libgomp/config/linux/bar.c (working copy)
@@ -36,18 +36,15 @@ gomp_barrier_wait_end (gomp_barrier_t *b
On Mon, Nov 28, 2011 at 08:09:01PM +1030, Alan Modra wrote:
On Mon, Nov 28, 2011 at 09:13:27AM +0100, Jakub Jelinek wrote:
On Mon, Nov 28, 2011 at 10:12:09AM +1030, Alan Modra wrote:
--- libgomp/config/linux/bar.c(revision 181718)
+++ libgomp/config/linux/bar.c(working copy
On Mon, Nov 28, 2011 at 05:23:37PM +0100, Jakub Jelinek wrote:
On Mon, Nov 28, 2011 at 09:23:43AM +1030, Alan Modra wrote:
+ int count = *sem;
+
+ while ((count 0x7fff) != 0)
+{
+ int oldval = count;
+ __atomic_compare_exchange_4 (sem, oldval, count - 1
On Mon, Nov 28, 2011 at 04:00:10PM -0800, Richard Henderson wrote:
On 11/27/2011 02:53 PM, Alan Modra wrote:
+enum memmodel
+{
+ MEMMODEL_RELAXED = 0,
+ MEMMODEL_CONSUME = 1,
+ MEMMODEL_ACQUIRE = 2,
+ MEMMODEL_RELEASE = 3,
+ MEMMODEL_ACQ_REL = 4,
+ MEMMODEL_SEQ_CST = 5
On Mon, Nov 28, 2011 at 04:33:58PM -0800, Richard Henderson wrote:
On 11/28/2011 04:26 PM, Richard Henderson wrote:
On 11/28/2011 03:05 PM, Richard Henderson wrote:
On 11/28/2011 02:16 PM, Alan Modra wrote:
Hmm, I suppose you could argue that powerpc and others ought to not
generate those
On Mon, Nov 28, 2011 at 05:15:08PM +0100, Rainer Orth wrote:
Alan Modra amo...@gmail.com writes:
On Sun, Nov 27, 2011 at 08:36:38PM -0500, David Edelsohn wrote:
I was hoping that other targets affected by the patch would test it as
well.
powerpc-linux and powerpc64-linux look good
On Mon, Nov 28, 2011 at 05:42:15PM -0800, Richard Henderson wrote:
On 11/28/2011 06:02 AM, Alan Modra wrote:
- unsigned int ret = bar-generation ~3;
- /* Do we need any barrier here or is __sync_add_and_fetch acting
- as the needed LoadLoad barrier already? */
- ret
On Mon, Nov 28, 2011 at 05:33:17PM -0800, Richard Henderson wrote:
On 11/27/2011 02:57 PM, Alan Modra wrote:
This is the mutex part. Depends on
http://gcc.gnu.org/ml/gcc-patches/2011-11/msg02454.html for MEMMODEL_*
values.
* config/linux/mutex.h: Use atomic rather than sync
);
-
- futex_wake (sem, wake);
+ futex_wake (sem, 1);
}
--
Alan Modra
Australia Development Lab, IBM
on a future gomp_sem_post. Furthermore, the awoken thread
will wake other threads in case gomp_sem_post was called again
before it had time to set SEM_WAIT. */
and committed revision 181831 without likely_compare_exchange as
discussed.
--
Alan Modra
Australia Development Lab, IBM
On Tue, Nov 29, 2011 at 08:37:07AM -0800, Richard Henderson wrote:
How about MEMMODEL_ACQ_REL
Right. Committed with that change revision 181832.
--
Alan Modra
Australia Development Lab, IBM
On Tue, Nov 29, 2011 at 04:15:36PM +1030, Alan Modra wrote:
On Mon, Nov 28, 2011 at 05:42:15PM -0800, Richard Henderson wrote:
On 11/28/2011 06:02 AM, Alan Modra wrote:
- unsigned int ret = bar-generation ~3;
- /* Do we need any barrier here or is __sync_add_and_fetch acting
(revision 181830)
+++ libgomp/config/linux/futex.h(working copy)
@@ -67,9 +67,3 @@ cpu_relax (void)
{
__asm volatile ( : : : memory);
}
-
-static inline void
-atomic_write_barrier (void)
-{
- __sync_synchronize ();
-}
--
Alan Modra
Australia Development Lab, IBM
);
gomp_end_task ();
}
else
@@ -290,8 +290,9 @@ GOMP_taskwait (void)
struct gomp_task *child_task = NULL;
struct gomp_task *to_free = NULL;
- if (task == NULL || task-children == NULL)
+ if (task == NULL)
return;
+
gomp_mutex_lock (team-task_lock);
while (1)
{
--
Alan Modra
On Thu, Dec 01, 2011 at 12:36:08PM +0100, Jakub Jelinek wrote:
On Thu, Dec 01, 2011 at 09:58:08PM +1030, Alan Modra wrote:
The GOMP_task change fixes a similar potential problem. Bootstrapped
and regression tested powerpc-linux. OK to apply?
PR libgomp/51376
* task.c
On Fri, Dec 02, 2011 at 08:10:11PM +1030, Alan Modra wrote:
On Thu, Dec 01, 2011 at 12:36:08PM +0100, Jakub Jelinek wrote:
On Thu, Dec 01, 2011 at 09:58:08PM +1030, Alan Modra wrote:
The GOMP_task change fixes a similar potential problem. Bootstrapped
and regression tested powerpc-linux
On Mon, Apr 18, 2011 at 10:29:17AM -0700, Nathan Froyd wrote:
Could I request that you use FOREACH_FUNCTION_ARGS in these two cases?
The conversion is trivial, and avoiding more exposed TYPE_ARG_TYPES
calls is a good thing.
Committed revision 172855.
--
Alan Modra
Australia Development Lab
On Fri, Apr 22, 2011 at 01:29:14PM +0930, Alan Modra wrote:
On Mon, Apr 18, 2011 at 10:29:17AM -0700, Nathan Froyd wrote:
Could I request that you use FOREACH_FUNCTION_ARGS in these two cases?
The conversion is trivial, and avoiding more exposed TYPE_ARG_TYPES
calls is a good thing
= XEXP (XEXP (x, 1), 0);
+ y = XEXP (XEXP (orig_x, 1), 0);
if (GET_CODE (y) == UNSPEC
XINT (y, 1) == UNSPEC_MACHOPIC_OFFSET)
return XVECEXP (y, 0, 0);
--
Alan Modra
Australia Development Lab, IBM
On Thu, Apr 28, 2011 at 01:58:24PM -0400, David Edelsohn wrote:
On Thu, Apr 28, 2011 at 11:22 AM, Alan Modra amo...@gmail.com wrote:
* config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
unspec plus offset. Tidy macho code.
Looks good.
Committed mainline revision 173141. I
On Thu, May 05, 2011 at 11:29:13AM -0400, David Edelsohn wrote:
Alan, is mcmodel suppose to set m64?
No, that was an accident.
--
Alan Modra
Australia Development Lab, IBM
);
else if (DEFAULT_ABI == ABI_AIX !TARGET_64BIT)
--
Alan Modra
Australia Development Lab, IBM
old_decl = b-decl;
--
Alan Modra
Australia Development Lab, IBM
)
- (match_operand:DI 2 )))]
- TARGET_ELF TARGET_CMODEL != CMODEL_SMALL
- {cal %0,%2@l(%1)|addi %0,%1,%2@l})
;; Call and call_value insns
(define_expand call
--
Alan Modra
Australia Development Lab, IBM
On Tue, Sep 06, 2011 at 01:11:26AM +0930, Alan Modra wrote:
Consequently, Mike's change to split rtl for
indirect calls sometimes sees the scheduler moving the r2 load in the
indirect call sequence before a toc reference.
Actually, this isn't correct. Mike's change adding rs6000.c
;
will correctly pick up any set of LR. If code in a function body sets
LR without saving and restoring around the use, then the prologue must
save LR, so LR will be in prologue_used.
--
Alan Modra
Australia Development Lab, IBM
)
+ if ((code == LABEL_REF XEXP (x, 0) == olabel)
|| x == olabel)
{
x = redirect_target (nlabel);
--
Alan Modra
Australia Development Lab, IBM
))
(use (match_operand:P 1 symbol_ref_operand s))
(use (reg:P 11))
--
Alan Modra
Australia Development Lab, IBM
On Sat, Sep 17, 2011 at 03:26:21PM +0200, Bernd Schmidt wrote:
On 09/17/11 09:16, Alan Modra wrote:
This patch series adds shrink-wrap support for PowerPC. The patches
are on top of Bernd's Initial shrink-wrapping patch:
http://gcc.gnu.org/ml/gcc-patches/2011-08/msg02557.html
. See the equivalent code in extract_bit_field_1.
Moreover you need to properly test it on a mainstream big-endian platform.
Passes bootstrap and regression test powerpc64-linux.
--
Alan Modra
Australia Development Lab, IBM
rtx_code, enum machine_mode);
extern bool legitimate_constant_pool_address_p (const_rtx, enum machine_mode,
--
Alan Modra
Australia Development Lab, IBM
)])
-
-
(define_expand epilogue
[(use (const_int 0))]
--
Alan Modra
Australia Development Lab, IBM
Ping http://gcc.gnu.org/ml/gcc-patches/2011-11/msg00543.html
--
Alan Modra
Australia Development Lab, IBM
On Fri, Dec 02, 2011 at 08:10:11PM +1030, Alan Modra wrote:
PR libgomp/51376
* task.c (GOMP_taskwait): Don't access task-children outside of
task_lock mutex region.
(GOMP_task): Likewise.
Committed revision 182151 on rth's irc OK.
--
Alan Modra
Australia Development
;
--
Alan Modra
Australia Development Lab, IBM
of the number of words needed by the integer mode of the
field, which is the mode used to compute subwords.
That doesn't sound right. wordnum is passed to operand_subword as its
offset param, which counts in words of word_mode size. I think you
have a problem elsewhere.
--
Alan Modra
Australia
On Sat, Jan 21, 2012 at 11:07:10AM +1030, Alan Modra wrote:
PR middle-end/51926
* expmed.c (store_bit_field_1): Properly handle last word of
BLKmode value when bigendian.
Blah, I was working on an old tree. The bug is already fixed.
--
Alan Modra
Australia Development Lab
101 - 200 of 986 matches
Mail list logo