mainline. I think that we need to put this on mainline and 4.7 branch
at least; not clear for the 4.6 branch at this point. OK for which ones?
2012-11-19 Eric Botcazou
* config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch
area if the function allocates dynami
EQ* notes by means of DF. But using df_note_add_problem for this
task seems to be a little far-fetched.
> Perhaps df_note_add_problem should imply setting DF_EQ_NOTES?
Do you mean the opposite, i.e setting DF_EQ_NOTES should imply adding DF_NOTE?
--
Eric Botcazou
> gcc/
> * stor-layout.c (bit_field_mode_iterator::next_mode): Fix signedness.
This looks fine to me.
--
Eric Botcazou
;
> OK for trunk?
The ChangeLog mentions POINTER_MINUS_EXPR, which doesn't exist.
--
Eric Botcazou
> Actually the ChangeLog is correct, what was incorrect was the svn commit
> message. Is there a way to change the commit message retroactively?
Probably, but I wouldn't bother about that.
--
Eric Botcazou
> 2012-11-21 Jakub Jelinek
>
> * ree.c (struct ext_modified): Add ATTRIBUTE_PACKED.
Are you sure that this will compile with non-GCC compilers?
--
Eric Botcazou
lang 3.0.
OK, some other attributes are defined in the same way, thanks.
--
Eric Botcazou
The layout of variant record types doesn't always guarantee the proper
alignment of aliased components if the record types are also packed.
Fixed thusly, tested on x86_64-suse-linux, applied on the mainline.
2012-11-23 Eric Botcazou
* gcc-interface/d
ee.
Fixed thusly, tested on x86_64-suse-linux, applied on the mainline.
2012-11-23 Eric Botcazou
* gcc-interface/trans.c (Attribute_to_gnu) : Look through
a view conversion from constrained to unconstrained form.
2012-11-23 Eric Botcazou
* gnat.dg/discr40.ad[sb]
, but there is a latent issue in nonoverlapping_component_refs_p
which now needs to deal with bitfields.
Bootstrapped/regtested on SPARC and x86-64/Linux, applied on the mainline.
2012-11-23 Eric Botcazou
PR rtl-optimization/55388
* alias.c (nonoverlapping_component_refs_p): H
ble in the original mode.
Tested on SPARC/Solaris and x86-64/Linux, OK for the mainline?
2012-11-23 Eric Botcazou
* doc/invoke.texi (SPARC Options): Document -mfix-ut699.
* builtins.c (expand_builtin_mathfn) : Try to widen the
mode if the instruction isn't a
It's a couple of obsolete comments about the sign-extendness of sizetypes plus
some "size type" -> "sizetype" adjustments. No functional changes.
Tested on x86-64/Linux, applied on the mainline as obvious.
2012-11-26 Eric Botcazou
* fold-const.c (
ALIGNMENT) > align
>
> Fixed by using GET_MODE_ALIGNMENT instead.
Note that the comment just above needs to be adjusted then. What about the
similar check in next_mode?
/* Stop if the mode requires too much alignment. */
if (unit > align_ && SLOW_UNALIGNED_ACCESS (mode_, align_))
break;
It seems to me that we should change it as well.
--
Eric Botcazou
sn, rtx target, rt
trial && !LABEL_P (trial) && insns_to_search > 0;
trial = PREV_INSN (trial))
{
- if (!NONDEBUG_INSN_P (trial))
+ if (!INSN_P (trial))
continue;
--insns_to_search;
--
Eric Botcazou
ith bitsize 32 and alignment 16
(i.e. STRICT_ALIGNMENT 1 and BIGGEST_ALIGNMENT 16), meaning that we can use
16-bit aligned 32-bit chunks in this mode. Why would the bitsize matter
(assuming that it's a multiple of the alignment)?
--
Eric Botcazou
> gcc/ChangeLog:
> 2012-11-26 Dehao Chen
>
>* cfgrtl.c (rtl_merge_blocks): Check with UNKNOWN_LOCATION correctly.
>(cfg_layout_merge_blocks): Likewise.
OK, thanks.
--
Eric Botcazou
r to IVs that are being split.
> (apply_opt_in_copies): Use maybe_strip_eq_note_for_split_iv. Twice.
> Use FOR_BB_INSNS_SAFE.
That's fine with me, thanks. You might want to defer applying it until the
reason why it isn't apparently sufficient for aermod.f90 is understood though.
--
Eric Botcazou
.
Tested on i586-suse-linux and x86-64-suse-linux, OK for the mainline?
2012-11-27 Eric Botcazou
* stor-layout.c (layout_type) : Do not clear TREE_OVERFLOW
on overflowed zeroes, except in one specific case.
ada/
* gcc-interface/decl.c (gnat_to_gnu_entity) : Use
> This note seems very very weird. For one thing, it becomes invalid on
> the very instruction where it is created. I would say that it should
> not be there.
Agreed.
--
Eric Botcazou
x27;t attempt to perform any
> optimizations across any insn, just tries to track where values live, IMHO a
> volatile asm acts exactly the same as non-volatile, that is why I'm testing
> following patch right now.
>
> But the question is also what effects your patch can have e.g. on RTL DSE.
It will make all volatile asms be treated as volatile asms without outputs.
--
Eric Botcazou
of XEXP (x, 0), and pass it to canon_true_dependence.
OK, thanks.
--
Eric Botcazou
BITS_PER_UNIT == 0
> + && bitsize == GET_MODE_BITSIZE (mode)
> + && (!SLOW_UNALIGNED_ACCESS (mode, MEM_ALIGN (op0))
> + || (bitnum % GET_MODE_ALIGNMENT (mode) == 0
> + && MEM_ALIGN (op0) % GET_MODE_ALIGNMENT (mode) == 0)));
> +}
I think that the most idiomatic form is
MEM_ALIGN (op0) >= GET_MODE_ALIGNMENT (mode)
when it comes to alignments.
--
Eric Botcazou
/55006) if it passes bootstrap & regtest, thanks.
> And perhaps a bit in emit-rtl.c for good measure? I'll see if/where
> this causes breakage...
I think this would need to be wrapped in a #ifdef ENABLE_CHECKING/#endif pair.
--
Eric Botcazou
G_EQ* notes, perhaps it's time to devise
a global infrastructure to handle them. But, as far as I recall, they always
have been problematic, before or after the DF merge.
--
Eric Botcazou
s means that the loop structure and the CFG aren't
in sync anymore. Does the cprop pass modify the former without declaring it?
--
Eric Botcazou
flags)
> (expr_list:REG_EQUAL (minus:SI (const_int 1 [0x2710])
> (reg:SI 546 [ D.45472 ]))
> (nil)
> void
> (gdb)
>
> Is that valid?
Yes, the comment is wrong and should have been removed in r183719:
http://gcc.gnu.org/ml/gcc-patches/2012-01/msg01547.html
--
Eric Botcazou
g message.
That's fine, thanks.
--
Eric Botcazou
re we set the size based on the type even if
> it doesn't match the mode.
I think that's wrong, we should have S4 and drop the MEM_EXPR as we would do
it with adjust_bitfield_address. In other words, if the size computed from
the tree is smaller than the mode size, we don't use it and clear MEM_EXPR.
--
Eric Botcazou
as no-nonlocal.
Tested on x86_64-suse-linux, OK for the mainline?
2012-11-29 Eric Botcazou
PR middle-end/55321
* calls.c (emit_library_call_value_1): Mark as no-nonlocal if no-throw.
--
Eric BotcazouIndex: calls.c
==
ld functions
> and is more generally in keeping with the existing checks.
> (It's deliberately more conservative though, only using register
> bitfields if both the bit_field_mode_iterator and strict volatile
> bitfield rules are met.)
Well, rewriting the bitfield machinery of the middle-end is a once-in-a-decade
undertaking, so some fallouts are to be expected. :-) That wasn't too bad in
the end. But I agree with the cautious approach from now on.
--
Eric Botcazou
under which we mark the loop for removal? Or maybe we
should call disambiguate_loops_with_multiple_latches on entry of the pass?
Richard, what would be the "modern" approach to solving the problem here?
--
Eric Botcazou
d to change that. Removing the above condition
is equivalent to early returning from bypass_block for all potential headers.
> Let's declare the GIMPLE level did all interesting threadings through
> headers.
The testcase is precisely a counterexample with 2 latch edges.
But OK, let's punt if there is more than a single (potential) latch edge.
--
Eric Botcazou
NULL, we use your above method to do the same,
3) once this is done, we return from the function before entering the loop if
this is a (potential) header with more than 1 (potential) latch edge. The
comment can say that threading through a loop header with more than 1 latch
edge is delicate and cite tree-threadupdate.c:thread_through_loop_header.
--
Eric Botcazou
86-64/Linux, applied on the mainline as obvious.
2012-11-30 Eric Botcazou
* stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator): Deal
with degenerate cases where the bitsize isn't positive. Rework comment.
2012-11-30 Eric Botcazou
* gnat.dg/specs
need some additional cselib_init flag how we want to treat
> volatile asms... For UNSPEC_VOLATILE, perhaps even DSE should stay
> conservative, but for var-tracking.c I still don't see a reason for that.
Thank you (as well as the others) for the detailed feedback. Clearly my
initial stance on this was a bit extreme and needs to be watered down.
I'll ponder about this over the week-end and propose something next week.
--
Eric Botcazou
mode constants, at least to be callable on them, because there is
the simplify_gen_subreg -> simplify_subreg -> simplify_immed_subreg path.
--
Eric Botcazou
s REG_EQ* notes, so it seems like we're back to the earlier
trick of using df_note_add_problem to clean up pre-existing REG_EQ* notes.
--
Eric Botcazou
gcc.dg/pr54838.c: New test.
That's fine, thanks for your patience.
--
Eric Botcazou
:4:4: warning: 'Last' may be used uninitialized in this function [-
Wuninitialized]
Of course the story under the hood is a bit different, but this doesn't really
matter to the user I think, so I propose using the -Wmaybe-uninitialized tag
in both cases. Tested on x86-64-suse-linux, O
installed, has it? The test still takes 20s to compile
at -O3 on a fast x86-64 box, so you can imagine what this yields on slower
machines (and that's before the x4 because of the various dg-torture options).
--
Eric Botcazou
> 2012-11-19 Eric Botcazou
>
> * config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch
> area if the function allocates dynamic stack space.
> (ia64_initial_elimination_offset): Adjust offsets to above change.
Ping: http://gcc.gnu.org/ml/gcc-
em to clean up pre-existing REG_EQ*
> > notes.
> Again: Not really. I also bootstrapped&tested without the cse.c change.
The cse.c hunk is OK then.
> I plan (and promise ;-) to add a REG_EQ* note verifier for GCC 4.9.
Thanks (no need to promise though :-), that will be helpful. In the meantime,
I don't think that we should aim for perfection in 4.8, these REG_EQ* notes
and their quirks have been with us for a long time...
--
Eric Botcazou
r no good reason.
Can't you just use the same best-effort approach used for fwprop.c here?
--
Eric Botcazou
rt though. You should ask RTH instead
here (CCed), who has a far more comprehensive view of this stuff than me.
--
Eric Botcazou
> 2012-12-07 Uros Bizjak
>
> * stack_check3.ad[sb]: Move to gnat.dg.
>
> [Patch omitted, since it is just trivial move.]
Thanks for fixing this!
--
Eric Botcazou
linux, applied on the mainline as obvious.
2012-12-08 Eric Botcazou
* tree-ssa-loop-im.c (for_each_index) : New case.
2012-12-08 Eric Botcazou
* gnat.dg/vect9.ad[sb]: New test.
* gnat.dg/vect9_pkg.ads: New helper.
--
Eric BotcazouIndex: tree-ssa-loop
-linux, applied on the mainline.
2012-12-08 Eric Botcazou
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Be prepared for a
by-ref VAR_DECL in the case of an Out parameter passed by copy.
2012-12-08 Eric Botcazou
* gnat.dg/vect10.ad[sb]: New test.
--
Eric
This adds an obvious assertion in the N_Indexed_Component case of gnat_to_gnu
so as to avoid the associated crash a few lines below.
Tested on x86_64-suse-linux, applied on the mainline.
2012-12-08 Eric Botcazou
* gcc-interface/trans.c (gnat_to_gnu) : Assert
that the type
patch as obvious after testing on x86-64/Linux.
2012-12-08 Eric Botcazou
* lto-streamer-out.c (lto_write_tree): Do not reset the DECL_INITIAL of
variables in the global contant pool.
--
Eric BotcazouIndex: lto-streamer-out.c
y prevent that in gigi because it will need to be spilled to
memory given the above access pattern, so I don't really see the problem.
Here's the access in .optimized:
_38 = MEM[symbol: pkg__zero_unit, index: ivtmp.38_27, step: 4, offset: -4B];
--
Eric Botcazou
When you add a new --param entry and rebuild an existing compiler, you get
weird C++ regressions in the testsuite because of outdated object files.
Tested on x86_64-suse-linux, applied on the mainline as obvious.
2012-12-10 Eric Botcazou
* Make-lang.in (cp/typeck.o): Add dependency
Even if the Ada language isn't enabled, the Make-lang.in fragment of the Ada
compiler is processed and invokes gnatls unconditionally, which can result in
error messages if the command isn't present.
Tested on x86_64-suse-linux, applied on the mainline.
2012-12-11 Eri
It's a minor regression present on mainline and 4.8 branch: the size functions
are output as (no-fn) in the .original dump file.
Bootstrapped/regtested on x86_64-suse-linux, applied on the mainline and 4.8
branch as obvious (this only affects the Ada compiler).
2013-04-28 Eric Bot
tested on x86_64-linux and i686-linux, ok for trunk/4.8?
>
> 2013-05-02 Jakub Jelinek
>
> PR rtl-optimization/57130
> * combine.c (make_compound_operation): For SUBREG, pass
> SET instead of COMPARE as in_code to the recursive call
> if needed.
* combine.c (make_compound_operation) : Pass...
--
Eric Botcazou
there is just to be safe?
No, I was reasoning backward, the patch is OK as-is, thanks.
--
Eric Botcazou
e, right? IMO this should be fixed instead since this could run afoul of
various optimizations using array_ref_up_bound for example.
--
Eric Botcazou
UNIT of 1.
>
> struct {
> char a3c;
> char a3p[];
> } a3 = {
> 'o',
> "wx"
> };
>
> struct {
> char a4c;
> char a4p[];
> } a4 = {
> '9',
> { 'e', 'b' }
> };
Flexible array members (or related GNU extensions) are a specific issue,
reported under PR middle-end/28865.
--
Eric Botcazou
It's at http://gcc.gnu.org/ml/gcc-patches/2013-04/msg01149.html
Thanks in advance.
--
Eric Botcazou
ed on mainline and branch.
2013-05-07 Eric Botcazou
PR ada/56474
* gcc-interface/decl.c (gnat_to_gnu_entity) : Use
int_const_binop to shift bounds by 1 when they are integer constants.
2013-05-07 Eric Botcazou
* gnat.dg/specs/array3.ads: New test.
--
> sparc64*-*-rtems* ends up with __svr4__ defined. The attached
> patch corrects that.
Let's remove the FIXME instead. Applied to mainline.
2013-05-14 Eric Botcazou
* config/sparc/sp64-elf.h (CPP_SUBTARGET_SPEC): Delete.
* config/sparc/openbsd64.h (CPP_SUB
ched-deps based delay slot scheduler managed to fill.
I've been in the business lately so I'm interested in all things reorg.c. :-)
> Bootstrapped&tested on sparc64-unknown-linux-gnu. OK for trunk?
Fine with me.
--
Eric Botcazou
> I forgot to ask. Did you put this on the open branches as well? 4.7 and 4.8.
No, on mainline only (as written in the previous message). I can backport to
4.8 though, but it's too late for 4.7.
--
Eric Botcazou
d of creating "a facsimile of one on the fly" (see
> dwarf2cfi.c).
I think that an incremental step would be to allow the machine reorg pass to
use the CFG, even if it doesn't maintain it. For the rest I'm not sure, as
long as we have the dbr_schedule blocker.
--
Eric Botcazou
Hi,
this adds the register save/restore routines to libgcc for a couple of cross
platforms that we use (powerpc-elf and powerpc-wrs-vxworks). OK for mainline?
2013-05-20 Eric Botcazou
libgcc/
* config.host (powerpc-*-elf*): Add rs6000/t-savresfgpr to tmake_file.
(powerpc
ad:
1. Remove pass_free_cfg from the pipeline,
2. Remove compute_bb_for_insn from all the md_reorg passes that call it,
3. (Optionally) Do pass_free_cfg from all the md_reorg passes that don't,
4. Do pass_free_cfg at the beginning of pass_delay_slots,
5. Do pass_free_cfg at the end of pass_split_for_shorten_branches,
--
Eric Botcazou
reg_symbol_ref[i] = NULL_RTX;
reg_mode[i] = VOIDmode;
}
so I'm not sure whether we really properly handle multi hard-registers. So
what about explicitly punting for multi hard-registers in reload_cse_move2add?
Do you think that this would pessimize too much in practice?
--
Eric Botcazou
, applied on the mainline.
2013-05-22 Eric Botcazou
* config/sparc/sol2-unwind.h (sparc64_frob_update_context): Do it for
signal frames as well.
(MD_FALLBACK_FRAME_STATE_FOR): Do minor cleanups throughout and add the
STACK_BIAS to the CFA offset.
--
Eric
t I think that you ought to verify the real
assumption instead, which is that the type of the 3 nodes is always scalar.
The non-toplevelness of the nodes is merely a consequence of this property.
--
Eric Botcazou
d call it
from there. Similarly, the 3 new checks look strictly identical.
--
Eric Botcazou
neric passes (or entire new CFG-
based late generic passes), leaving the architectures with delay slots dead in
the water.
> But if I still haven't convince you, I'll prepare a patch along those lines.
I honestly cannot approve a patch that segregates the architectures with delay
slots from the others. Now, if another maintainer thinks this is the right
call to make here, I won't oppose.
--
Eric Botcazou
The PR is about missed simplifications for __builtin_swap. IIUC Andrew has
patches for them at the Tree level, but I think having basic simplifications
at the RTL level for BSWAP is also worthwhile, hence the attached patch.
Tested on x86_64-suse-linux. Comments?
2013-05-23 Eric Botcazou
er is fooled and
miscomputes the faulting address.
Fixed thusly, tested on x86/Solaris and SPARC/Solaris, OK for mainline?
2013-05-23 Eric Botcazou
libgcc/
* config/sparc/sol2-unwind.h (MD_FALLBACK_FRAME_STATE_FOR): Do not set
fs->signal_frame for SIGFPE raised for IEEE-754 ex
7 +2288,17 @@ move2add_note_store (rtx dst, const_rtx
[...]
+invalidate:
+ /* Invalidate the contents of the register. */
+ reg_set_luid[regno] = 0;
+ move2add_record_mode (dst);
The intent is the same, why don't we have the same code?
--
Eric Botcazou
> 2013-05-19 Easwaran Raman
>
> PR tree-optimization/57322
> * (build_and_add_sum): If a BB is empty, set the UID of the
> statement added to the BB to be 1.
Missing filename in the ChangeLog.
--
Eric Botcazou
.
Tested on x86_64-suse-linux, applied on the mainline.
2013-05-24 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity) : Constify
a handful of local variables.
For a derived untagged type that renames discriminants, change the type
of the stored discriminants to
and implement for suppressed inlining.
2013-05-24 Eric Botcazou
* gnat.dg/specs/noinline1.ads: New test.
* gnat.dg/noinline2.ad[sb]: Likewise.
* gnat.dg/specs/noinline3.ads: Likewise.
* gnat.dg/specs/noinline3_pkg.ad[sb]: New helper.
--
Eric Botcazou-- { dg
, -fsigned-zeros is enabled in the
compiler; otherwise, it is disabled (unless overridden by the user).
Tested on x86_64-suse-linux, applied on the mainline.
2013-05-24 Eric Botcazou
* gcc-interface/gigi.h (gnat_init_gcc_fp): Declare.
* gcc-interface/trans.c (gigi): Call it
> 2013-05-23 Martin Jambor
>
> * tree-cfg.c (verify_expr): Verify that BIT_FIELD_REFs, IMAGPART_EXPRs
> and REALPART_EXPRs have scalar type.
I cannot formally approve, but this looks the right test to me.
--
Eric Botcazou
t;>?
Sure, you can apply VIEW_CONVERT_EXPR to whatever you want, but does that
count as non-toplevelness? Won't SRA already punt on such abomination?
--
Eric Botcazou
#x27;ll take a look.
--
Eric Botcazou
uite entry, several typos, etc).
Please fix.
--
Eric Botcazou
It's a rather obscure case and comes from the change of representation for
aliased objects with unconstrained nominal type that we made last year.
Tested on x86_64-suse-linux, applied on the mainline.
2013-05-26 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity) : A
-linux, applied on the mainline.
2013-05-26 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not prematurely
elaborate the full view of a type with a freeze node.
* gcc-interface/trans.c (process_type): Add explicit predicate.
2013-05-26 Eric Botcazou
On specific platforms, stepping over an assignment to a class-wide variable in
GDB leads to an awkward behavior. Fixed thusly.
Tested on x86_64-suse-linux, applied on the mainline.
2013-05-26 Eric Botcazou
* gcc-interface/gigi.h (make_aligning_type): Adjust prototype
This fixes the handling of Machine_Attribute applied to types in gigi, which
doesn't really work because the attribute is applied to the TYPE_DECL.
Tested on x86_64-suse-linux, applied on the mainline.
2013-05-26 Eric Botcazou
* gcc-interface/gigi.h (create_type_decl): A
The value of the attribute should be -1 if an object of such a type is placed
on a storage unit boundary, but the compiler was generating Storage_Error.
Tested on x86_64-suse-linux, applied on all active branches.
2013-05-26 Eric Botcazou
* gcc-interface/trans.c (Attribute_to_gnu
the way we
lay out the variant part (by using an enclosing QUAL_UNION_TYPE).
Tested on x86_64-suse-linux, applied on the mainline.
2013-05-26 Eric Botcazou
* gcc-interface/decl.c (vinfo_t): New type and associated vector.
(components_to_record): Change return type to bool
The assertion is too strong in ASIS mode, where all the types aren't laid out.
Tested on x86_64-suse-linux, applied on the mainline.
2013-05-26 Eric Botcazou
* gcc-interface/decl.c: (gnat_to_gnu_entity): In ASIS mode, do not
check that access types have a set
ons.
The patch is OK with these modifications if it still passes testing.
--
Eric Botcazou
Hi,
Add workaround for LEON 3 FP errata (for the builtins.c bits):
http://gcc.gnu.org/ml/gcc-patches/2012-11/msg01950.html
Introduce #pragma GCC diagnostic off (for the diagnostic.c bits):
http://gcc.gnu.org/ml/gcc-patches/2013-04/msg01149.html
Thanks in advance.
--
Eric Botcazou
This changes the 3 occurrences of bmasksi_vis to use %g0 as the destination
register instead of an otherwise unused pseudo-register.
Tested on SPARC/Solaris, applied on the mainline.
2013-05-28 Eric Botcazou
* config/sparc/sparc.c (sparc_expand_vec_perm_bmask): Use %g0 as
inline.
2013-05-28 Eric Botcazou
* gcc.dg/builtin-bswap-8.c: Compile at -O2.
* gcc.dg/builtin-bswap-9.c: Likewise.
--
Eric BotcazouIndex: gcc.dg/builtin-bswap-8.c
===
--- gcc.dg/builtin-bswap-8.c (revision
* The new gnat.dg/fp_exception.adb test fails on Solaris 9 and 10/x86,
> Solaris 9 and 11/SPARC:
>
> +FAIL: gnat.dg/fp_exception.adb execution test
>
> raised CONSTRAINT_ERROR : SIGFPE
Patch collision. After
2013-05-24 Eric Botcazou
* gcc-interface/gigi.h (gnat_init_gcc_fp
40623E+06 expected:
> 1.40622E+06 difference: 4.0E+00 max err:
> 3.68797E+00 efactor: 1.40623E+06.
> CXG2021 FAILED .
I can reproduce with the unpatched compiler. Investigating...
--
Eric Botcazou
e.g. in ia64_print_operand) but it was rightfully disabled.
Tested on IA-64/Linux and IA-64/HP-UX, OK for the mainline?
2013-05-29 Eric Botcazou
* config/ia64/predicates.md (ia64_cbranch_operator): Accept unordered
comparison operators when -fno-trapping-math is in effect.
trapping-math is in effect. As a matter of fact, a partial support
was already there (e.g. in rs6000_generate_compare) but it was disabled.
Tested on e500v2/Linux and PowerPC/Linux, OK for the mainline?
2013-05-29 Eric Botcazou
* config/rs6000/predicates.md (rs6000_cbra
heless compile them with -ffast-math?
--
Eric Botcazou
son
operators and that you need to enable the Invalid Operation trap to get a
fault from Invalid. The IEEE standard also says that comparisons by way of
unordered signaling predicates raise the "invalid operation exception", just
like the regular operations. That being said, I can
.
> Build&tested powerpc64 X mips-elf.
>
> OK for trunk?
Yes, but I'd go one step farther and replace next_active_insn with NEXT_INSN
in tablejump_p; however it's your call.
--
Eric Botcazou
> However, it seems that the first androideabi snippet was dead code.
> Can you delete it in a follow-up?
No, it's not dead code, just broken at the moment, now fixed by:
2013-05-30 Eric Botcazou
* gcc-interface/Makefile.in (arm% androideabi): Robustify.
--
Eric Bo
2801 - 2900 of 4611 matches
Mail list logo