Re: [PATCH] libcpp: deduplicate definition of padding size

2024-08-24 Thread Richard Biener
> Am 24.08.2024 um 16:47 schrieb Alexander Monakov : > > Tie together the two functions that ensure tail padding with > search_line_ssse3 via CPP_BUFFER_PADDING macro. Ok Richard > libcpp/ChangeLog: > >* internal.h (CPP_BUFFER_PADDING): New macro; use it ... >* charset.cc (_cpp_co

Re: [PATCH v1] Match: Add type check for .SAT_ADD imm operand

2024-08-24 Thread Richard Biener
> Am 24.08.2024 um 13:33 schrieb pan2...@intel.com: > > From: Pan Li > > This patch would like to add strict check for imm operand of .SAT_ADD > matching. We have no type checking for imm operand in previous, which > may result in unexpected IL to be catched by .SAT_ADD pattern. > > Howev

Re: [PATCH v3] Optimize initialization of small padded objects

2024-08-23 Thread Richard Biener
> Am 24.08.2024 um 06:59 schrieb Alexandre Oliva : > > Hello, Richi, > > Thanks for the review and the feedback. > > On Aug 22, 2024, Richard Biener wrote: > >>> + /* If the object is small enough to go in registers, and it's >>> +

Re: [PATCH] late-combine: Preserve INSN_CODE when modifying notes [PR116343]

2024-08-23 Thread Richard Biener
> Am 23.08.2024 um 16:49 schrieb Jeff Law : > >  > >> On 8/23/24 6:02 AM, Georg-Johann Lay wrote: >> >> Hi, this fails on machines that don't support scheduling: >> cc1: warning: instruction scheduling not supported on this target machine >> FAIL: gcc.dg/torture/pr116343.c -O0 (test for e

Re: [PATCH] lto: Don't check obj.found for offload section

2024-08-23 Thread Richard Biener
On Fri, Aug 23, 2024 at 2:36 PM H.J. Lu wrote: > > obj.found is the number of LTO symbols. We should include the offload > section when it is used by linker even if there are no LTO symbols. OK. > PR lto/116361 > * lto-plugin.c (claim_file_handler_v2): Don't check obj.found >

[PATCH] tree-optimization/116463 - complex lowering leaves around dead stmts

2024-08-23 Thread Richard Biener
Complex lowering generally replaces existing complex defs with COMPLEX_EXPRs but those might be dead when it can always refer to components from the lattice. This in turn can pessimize followup transforms like forwprop and reassoc, the following makes sure to get rid of dead COMPLEX_EXPRs generate

Re: [patch,avr] Overhaul avr-ifelse RTL optimization pass

2024-08-23 Thread Richard Biener
On Fri, Aug 23, 2024 at 2:16 PM Georg-Johann Lay wrote: > > This patch overhauls the avr-ifelse mini-pass that optimizes > two cbranch insns to one comparison and two branches. > > More optimization opportunities are realized, and the code > has been refactored. > > No new regressions. Ok for tru

Re: [RFC/RFA][PATCH v4 06/12] aarch64: Implement new expander for efficient CRC computation

2024-08-23 Thread Richard Biener
wise. >> > * crc-CCIT-data8-pmul.c: Likewise. >> > * crc-coremark-16bitdata-pmul.c: Likewise. >> > * crc-crc32-data16.c: Likewise. >> > * crc-crc32-data32.c: Likewise. >> > * crc-crc32-data8.c: Likewise. >> > * crc-c

Re: [PATCH] Don't remove /usr/lib and /lib from when passing to the linker [PR97304/104707]

2024-08-23 Thread Richard Biener
On Fri, Aug 23, 2024 at 9:18 AM Gerald Pfeifer wrote: > > On Thu, 22 Aug 2024, Andrew Pinski wrote: > > With newer ld, the default search library path does not include /usr/lib > > nor /lib but the driver decides to not pass -L down to the link for > > these and then in some/most cases libc is not

Re: [PATCH v1] Vect: Promote unsigned .SAT_ADD constant operand for vectorizable_call

2024-08-23 Thread Richard Biener
On Thu, Aug 22, 2024 at 8:36 PM Jakub Jelinek wrote: > > On Tue, Aug 20, 2024 at 01:52:35PM +0200, Richard Biener wrote: > > On Sat, Aug 17, 2024 at 11:18 PM Jakub Jelinek wrote: > > > > > > On Sat, Aug 17, 2024 at 05:03:14AM +, Li, Pan2 wrote: > > &g

Re: [PATCH] libcpp: bump padding size in _cpp_convert_input [PR116458]

2024-08-23 Thread Richard Biener
On Thu, Aug 22, 2024 at 8:25 PM Alexander Monakov wrote: > > The recently introduced search_line_fast_ssse3 raised padding > requirement from 16 to 64, which was adjusted in read_file_guts, > but the corresponding ' + 16' in _cpp_convert_input was overlooked. OK > libcpp/ChangeLog: > > P

Re: [PATCH] Use add_name_and_src_coords_attributes in modified_type_die

2024-08-23 Thread Richard Biener
On Thu, Aug 22, 2024 at 5:04 PM Tom Tromey wrote: > > >>>>> "Richard" == Richard Biener writes: > > >> While working on a patch to the Ada compiler, I found a spot in > >> dwarf2out.cc that calls add_name_attribute where a call to > >>

Re: [PATCH] Fix test failure on powerpc targets

2024-08-23 Thread Richard Biener
> Am 23.08.2024 um 06:42 schrieb Bernd Edlinger : > > Apparently due to slightly different optimization levels > not always both subroutines have multiple subranges, > but having at least one such, and no lexical blocks > is sufficient to prove that the fix worked. Q.E.D. > So reduce the test

Re: [PATCH v2] tree-optimization/116024 - match.pd: add 4 int-compare simplifications

2024-08-22 Thread Richard Biener
b08057b2b > --- /dev/null > +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr116024.c > @@ -0,0 +1,74 @@ > +/* PR tree-optimization/116024 */ > +/* { dg-do compile } */ > +/* { dg-options "-O1 -fdump-tree-forwprop1-details" } */ > + > +#include > +#include > + > +uint32_t f(void); > + > +int32_t i1(void) > +{ > + int32_t l = 2; > + l = 10 - (int32_t)f(); > + return l <= 9; // f() > 0 > +} > + > +int32_t i1a(void) > +{ > + int32_t l = 2; > + l = 20 - (int32_t)f(); > + return l <= INT_MIN; // return 0 > +} > + > +int32_t i1b(void) > +{ > + int32_t l = 2; > + l = 30 - (int32_t)f(); > + return l <= INT_MIN + 31; // f() == INT_MAX > +} > + > +int32_t i1c(void) > +{ > + int32_t l = 2; > + l = INT_MAX - 40 - (int32_t)f(); > + return l <= -38; // f() > INT_MAX - 3 > +} > + > +int32_t i1d(void) > +{ > + int32_t l = 2; > + l = INT_MAX - 50 - (int32_t)f(); > + return l <= INT_MAX - 1; // f() != -50 > +} > + > +int32_t i1e(void) > +{ > + int32_t l = 2; > + l = INT_MAX - 60 - (int32_t)f(); > + return l != INT_MAX - 90; // f() != 30 > +} > + > +int32_t i1f(void) > +{ > + int32_t l = 2; > + l = INT_MIN + 70 - (int32_t)f(); > + return l <= INT_MAX - 2; // return 0 > +} > + > +int32_t i1g(void) > +{ > + int32_t l = 2; > + l = INT_MAX/2 + 30 - (int32_t)f(); > + return l <= INT_MIN/2 - 30; // return 1 > +} > + > + > +/* { dg-final { scan-tree-dump-times "Removing dead stmt:.*?- _" 5 > "forwprop1" } } */ > +/* { dg-final { scan-tree-dump-times "return 0" 2 "forwprop1" } } */ > +/* { dg-final { scan-tree-dump-times "return 1" 1 "forwprop1" } } */ > +/* { dg-final { scan-tree-dump-times "gimple_simplified to.* > 0" 1 > "forwprop1" } } */ > +/* { dg-final { scan-tree-dump-times "gimple_simplified to.* == 2147483647" > 1 "forwprop1" } } */ > +/* { dg-final { scan-tree-dump-times "gimple_simplified to.* > 2147483644" 1 > "forwprop1" } } */ > +/* { dg-final { scan-tree-dump-times "gimple_simplified to.* != 4294967246" > 1 "forwprop1" } } */ > +/* { dg-final { scan-tree-dump-times "gimple_simplified to.* != 30" 1 > "forwprop1" } } */ > diff --git a/gcc/testsuite/gcc.target/aarch64/gtu_to_ltu_cmp_1.c > b/gcc/testsuite/gcc.target/aarch64/gtu_to_ltu_cmp_1.c > index 81c536c90af..bfcec6719de 100644 > --- a/gcc/testsuite/gcc.target/aarch64/gtu_to_ltu_cmp_1.c > +++ b/gcc/testsuite/gcc.target/aarch64/gtu_to_ltu_cmp_1.c > @@ -10,4 +10,4 @@ f1 (int x, int t) >return t; > } > > -/* { dg-final { scan-assembler-times "cmn\\tw\[0-9\]+, #2" 1 } } */ > +/* { dg-final { scan-assembler-times "cmn\\tw\[0-9\]+, #3" 1 } } */ > -- Richard Biener SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

Re: [PATCH v2] match: Fix A || B not optimized to true when !B implies A [PR114326]

2024-08-22 Thread Richard Biener
On Fri, Aug 16, 2024 at 4:24 PM Konstantinos Eleftheriou wrote: > > From: kelefth > > In expressions like (a != b || ((a ^ b) & CST0) == CST1) and > (a != b || (a ^ b) == CST), (a ^ b) is folded to false. > In the equivalent expressions (((a ^ b) & CST0) == CST1 || a != b) and > ((a ^ b) == CST,

Re: [PATCH v3 2/2] Prevent divide-by-zero

2024-08-22 Thread Richard Biener
Richard. > Edwin > > On 7/24/2024 12:03 PM, Edwin Lu wrote: > > > > On 7/24/2024 3:52 AM, Richard Biener wrote: > >> On Wed, Jul 24, 2024 at 1:31 AM Edwin Lu wrote: > >>> > >>> On 7/23/2024 11:20 AM, Richard Sandiford wrote: > >>>>

Re: [PATCH] MATCH: add abs support for half float

2024-08-22 Thread Richard Biener
On Wed, Aug 21, 2024 at 12:08 PM Kugan Vivekanandarajah wrote: > > Hi Richard, > > > On 20 Aug 2024, at 6:09 pm, Richard Biener > > wrote: > > > > External email: Use caution opening links or attachments > > > > > > On Fri, Aug 9

Re: [PATCH] fold: Fix `a * 1j` if a has side effects [PR116454]

2024-08-22 Thread Richard Biener
0 with save_expr when it is not COMPLEX_EXPR. > > gcc/testsuite/ChangeLog: > > * gcc.dg/torture/pr116454-1.c: New test. > * gcc.dg/torture/pr116454-2.c: New test. > > Signed-off-by: Andrew Pinski > Co-Authored-By: Richard Biener > --- > gcc/fold-

Re: RFH: Debugging GCC segfault with LRA-enabled SH backend

2024-08-22 Thread Richard Biener
On Thu, Aug 22, 2024 at 1:35 PM John Paul Adrian Glaubitz wrote: > > On Thu, 2024-08-22 at 13:05 +0200, Richard Biener wrote: > > > I'm not sure that bisecting works here as I suspect the issue is a result > > > of the LRA switch. > > > > For sure. Still

Re: [PATCH] PR tree-optimization/101390: Vectorize modulo operator

2024-08-22 Thread Richard Biener
t; + > >> + oprnd0 = gimple_assign_rhs1 (last_stmt); > >> + oprnd1 = gimple_assign_rhs2 (last_stmt); > >> + itype = TREE_TYPE (oprnd0); > >> + if (TREE_CODE (oprnd0) != SSA_NAME > >> + || TREE_CODE (oprnd1) != SSA_NAME > >> + || TREE_CODE (it

Re: RFH: Debugging GCC segfault with LRA-enabled SH backend

2024-08-22 Thread Richard Biener
On Thu, Aug 22, 2024 at 12:54 PM John Paul Adrian Glaubitz wrote: > > Hi Richard, > > On Thu, 2024-08-22 at 12:49 +0200, Richard Biener wrote: > > If this is stage2 or stage3 it hints at a miscompile of the stage2/3 > > compiler. I'd concentrate on other > &

Re: RFH: Debugging GCC segfault with LRA-enabled SH backend

2024-08-22 Thread Richard Biener
On Thu, Aug 22, 2024 at 12:32 PM John Paul Adrian Glaubitz wrote: > > (Please CC me in the replies, I am not subscribed to the list) > > Hi, > > I am currently trying to switch the SH backend to use the LRA register > allocater > by default with the help of patches by Oleg and Kaz (CC'ed) to addr

Re: [PATCH v1] Match: Support form 4 for unsigned integer .SAT_TRUNC

2024-08-22 Thread Richard Biener
On Tue, Aug 20, 2024 at 9:52 AM wrote: > > From: Pan Li > > This patch would like to support the form 4 of the unsigned integer > .SAT_TRUNC. Aka below example: > > Form 4: > #define DEF_SAT_U_TRUC_FMT_4(NT, WT) \ > NT __attribute__((noinline)) \ > sat_u_truc_##W

Re: [PATCH v5] RISC-V: Enable -gvariable-location-views by default

2024-08-22 Thread Richard Biener
iew_support)) > dwarf2out_as_locview_support = dwarf2out_default_as_locview_support (); > + if (dwarf2out_as_locview_support && !dwarf2out_as_loc_support) > + { > + if (OPTION_SET_P (dwarf2out_as_locview_support)) > + warning_at (UNKNOWN_LOCATION, 0, > + "%<-gas-loc

Re: [PATCH v2] Match: Support form 1 for scalar signed integer .SAT_ADD

2024-08-22 Thread Richard Biener
On Wed, Aug 7, 2024 at 11:31 AM wrote: > > From: Pan Li > > This patch would like to support the form 1 of the scalar signed > integer .SAT_ADD. Aka below example: > > Form 1: > #define DEF_SAT_S_ADD_FMT_1(T, MIN, MAX) \ > T __attribute__((noinline)) \ > sat_s_add_##T##_fmt_1

Re: [PATCH v2] Optimize initialization of small padded objects

2024-08-22 Thread Richard Biener
On Fri, Aug 16, 2024 at 6:05 AM Alexandre Oliva wrote: > > On Aug 15, 2024, Alexandre Oliva wrote: > > > I can't quite envision what to check for in a target-independent test. > > Got it. Also dropped some occurrences of CONST_CAST_TREE that I added, > then changed function signatures but failed

Re: [PATCH V3 02/10] autovectorizer: Add basic support for convert optabs

2024-08-22 Thread Richard Biener
On Thu, Aug 15, 2024 at 10:46 AM Victor Do Nascimento wrote: > > Given the shift from modeling dot products as direct optabs to > treating them as conversion optabs, we make necessary changes to the > autovectorizer code to ensure that given the relevant tree code, > together with the input and ou

Re: [RFC/RFA] [PATCH v2 11/12] Replace the original CRC loops with a faster CRC calculation.

2024-08-22 Thread Richard Biener
On Fri, Aug 2, 2024 at 6:15 PM Mariam Arutunian wrote: > > After the loop exit an internal function call (CRC, CRC_REV) is added, > and its result is assigned to the output CRC variable (the variable where the > calculated CRC is stored after the loop execution). > The removal of the loop is left

Re: [PATCH v4] RISC-V: Enable -gvariable-location-views by default

2024-08-22 Thread Richard Biener
On Thu, 22 Aug 2024, Bernd Edlinger wrote: > On 8/22/24 09:11, Richard Biener wrote: > > On Thu, 22 Aug 2024, Bernd Edlinger wrote: > >> --- a/gcc/dwarf2out.cc > >> +++ b/gcc/dwarf2out.cc > >> @@ -10374,7 +10374,7 @@ dwarf2out_maybe_output_loclist_v

Re: [PATCH v3] Update LDPT_REGISTER_CLAIM_FILE_HOOK_V2 linker plugin hook

2024-08-22 Thread Richard Biener
On Wed, Aug 21, 2024 at 4:25 PM H.J. Lu wrote: > > This hook allows the BFD linker plugin to distinguish calls to > claim_file_handler that know the object is being used by the linker > (from ldmain.c:add_archive_element), from calls that don't know it's > being used by the linker (from elf_link_i

Re: [PATCH] optabs-query: Guard smallest_int_mode_for_size [PR115495].

2024-08-22 Thread Richard Biener
On Wed, Aug 21, 2024 at 4:24 PM Richard Sandiford wrote: > > Richard Biener writes: > > On Wed, Aug 21, 2024 at 8:37 AM Robin Dapp wrote: > >> > >> Hi, > >> > >> in get_best_extraction_insn we use smallest_int_mode_for_size with > >> str

Re: [PATCH v4] RISC-V: Enable -gvariable-location-views by default

2024-08-22 Thread Richard Biener
quot; 6 } } */ > +/* { dg-final { scan-assembler-times "uleb128\[^\n\]*LVU\[^\n\]* View list > (begin|end)" 0 } } */ > +/* { dg-final { scan-assembler-times "uleb128\[^\n\]*0x\[^\n\]* View > list (begin|end)" 0 } } */ > > /* There are 3 DW_AT_inline attributes: one per abstract inline instance. > The value of the attribute must be 0x3, meaning the function was > diff --git a/gcc/toplev.cc b/gcc/toplev.cc > index eee4805b504..292948122de 100644 > --- a/gcc/toplev.cc > +++ b/gcc/toplev.cc > @@ -1475,9 +1475,7 @@ process_options () > = (flag_var_tracking > && debug_info_level >= DINFO_LEVEL_NORMAL > && dwarf_debuginfo_p () > -&& !dwarf_strict > -&& dwarf2out_as_loc_support > -&& dwarf2out_as_locview_support); > +&& !dwarf_strict); > } >else if (debug_variable_location_views == -1 && dwarf_version != 5) > { > -- Richard Biener SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

Re: [PATCH v2] Do not emit a redundant DW_TAG_lexical_block for inlined subroutines

2024-08-22 Thread Richard Biener
} } */ > +/* { dg-final { scan-assembler-times "\\(DIE \\(\[^\n\]*\\) > DW_TAG_lexical_block" 0 } } */ > + > +static int foo (int i) > +{ > + volatile int j = i + 3; > + if (j == 3) > +return 0; > + return j - 2; > +} > +int main() > +{ > + volatile int z = foo (-2) && foo (-1); > + return z; > +} > -- Richard Biener SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

[PATCH] tree-optimization/116406 - ICE with int<->float punning prevention

2024-08-21 Thread Richard Biener
The following does away with the idea to use non-symmetrical testing of mode_can_transfer_bits in hash-table equality testing. It isn't feasible to always control query order to maintain consistency. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. PR tree-optimization/116406

Re: [PATCH] Update LDPT_REGISTER_CLAIM_FILE_HOOK_V2 linker plugin hook

2024-08-21 Thread Richard Biener
On Wed, Aug 21, 2024 at 2:27 PM H.J. Lu wrote: > > On Wed, Aug 21, 2024 at 2:38 AM Richard Biener > wrote: > > > > On Tue, Aug 20, 2024 at 3:24 PM H.J. Lu wrote: > > > > > > On Tue, Aug 20, 2024 at 2:03 AM Richard Biener > > > wrote: > &g

Re: [PATCH 1/2] Makefile.tpl: drop leftover intermodule cruft

2024-08-21 Thread Richard Biener
On Thu, Aug 15, 2024 at 12:14 AM Sam James wrote: > > intermodule supported was dropped in r0-103106-gde6ba7aee152a0 with some > remaining bits for Fortran removed in r14-1696-gecc96eb5d2a0e5. OK > Remove some small leftovers. > > * Makefile.in: Regenerate. > * Makefile.tpl (STAG

Re: [PING] [PATCH v2] Support if conversion for switches

2024-08-21 Thread Richard Biener
On Tue, Aug 13, 2024 at 7:34 PM Andi Kleen wrote: > > Andi Kleen writes: > > I wanted to ping this patch. I believe Richard ok'ed most of it earlier > but need an ok for the changes resulting from his review too > (but they were mostly only test suite and comment fixes > apart from some minor twe

[PATCH] tree-optimization/116380 - bogus SSA update with loop distribution

2024-08-21 Thread Richard Biener
When updating LC PHIs after copying loops we have to handle defs defined outside of the loop appropriately (by not setting them to NULL ...). This mimics how we handle this in the SSA updating code of the vectorizer. Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. Richard.

Re: [PATCH] Do not emit a redundant DW_TAG_lexical_block for inlined subroutines

2024-08-21 Thread Richard Biener
On Wed, 21 Aug 2024, Bernd Edlinger wrote: > On 8/21/24 10:45, Richard Biener wrote: > > On Wed, 21 Aug 2024, Richard Biener wrote: > > > >> On Tue, 20 Aug 2024, Bernd Edlinger wrote: > >> > >>> On 8/20/24 13:00, Richard Biener wrote: > >

RE: Re-compute TYPE_MODE and DECL_MODE while streaming in for accelerator

2024-08-21 Thread Richard Biener
On Wed, 21 Aug 2024, Prathamesh Kulkarni wrote: > > > > -Original Message- > > From: Richard Biener > > Sent: Tuesday, August 20, 2024 10:36 AM > > To: Richard Sandiford > > Cc: Prathamesh Kulkarni ; Thomas Schwinge > > ; gcc-patches@gcc.gnu

Re: [PATCH 3/8] tree-ifcvt: Enforce zero else value after maskload.

2024-08-21 Thread Richard Biener
On Wed, 21 Aug 2024, Robin Dapp wrote: > > > > > _Bool iftmp.0_113; > > > > > _Bool iftmp.0_114; > > > > > iftmp.0_113 = .MASK_LOAD (_170, 8B, _169, _171(D)); > > > > > iftmp.0_114 = _47 | iftmp.0_113; > > > > _BoolD.2746 _47; > > > iftmp.0_114 = _47 ? 1 : iftmp.0_113; > > > which is

Re: [PATCH] vect: Multistep float->int conversion only with no trapping math

2024-08-21 Thread Richard Biener
On Tue, Aug 20, 2024 at 3:35 PM Juergen Christ wrote: > > Am Tue, Aug 20, 2024 at 02:51:02PM +0200 schrieb Richard Biener: > > On Tue, Aug 20, 2024 at 11:16 AM Juergen Christ > > wrote: > > > > > > Am Tue, Aug 20, 2024 at 10:15:22AM +0200 schrieb Richard Bien

Re: [RFC] Support single lane SLP early break

2024-08-21 Thread Richard Biener
cycle, otherwise I don't see how we'd run into this for example when we have a vectorizable induction based on the same IV and stored into a SLP memory group? >From reading both above eventually hybrid detection should ignore !STMT_VINFO_RELEVANT loop_vect uses ... (luckily hybrid d

Re: [PATCH 3/8] tree-ifcvt: Enforce zero else value after maskload.

2024-08-21 Thread Richard Biener
t; > Ok, I was already pretty sure we don't need - and glad to hear it confirmed. > I was just thinking for consistency reasons we might want a masked > load to always look like > foo123 = .MASK_..._LOAD (mask, ..., else) > foo124 = COND_EXPR (mask, foo123, 0); > where foo124 would be optimized away (or not even emitted) for zeroing > targets). That way subsequent code could always rely on zero. > But as this requirement seems very rare it doesn't look like a useful > invariant to enforce. > > All in all, it seems we don't need major changes to the approach. > I'm going to work on the comments for the other patches. > > -- Richard Biener SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

Re: [PATCH] Update LDPT_REGISTER_CLAIM_FILE_HOOK_V2 linker plugin hook

2024-08-21 Thread Richard Biener
On Tue, Aug 20, 2024 at 3:24 PM H.J. Lu wrote: > > On Tue, Aug 20, 2024 at 2:03 AM Richard Biener > wrote: > > > > On Wed, Aug 14, 2024 at 3:15 PM H.J. Lu wrote: > > > > > > The new hook allows the linker plugin to distinguish calls to > > > claim

Re: [PATCH] sra: Avoid risking x87 magling binary representation of a replacement (PR 58416)

2024-08-21 Thread Richard Biener
-3127,7 +3151,9 @@ propagate_subaccesses_from_rhs (struct access *lacc, > struct access *racc) > ret = true; > subtree_mark_written_and_rhs_enqueue (lacc); > } > - if (!lacc->first_child && !racc->first_child) > + if (!lacc->first_child > + && !racc->first_child > + && !types_risk_mangled_binary_repr_p (racc->type, lacc->type)) > { > /* We are about to change the access type from aggregate to scalar, >so we need to put the reverse flag onto the access, if any. */ > -- Richard Biener SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

Re: [PATCH 4/8] vect: Add maskload else value support.

2024-08-21 Thread Richard Biener
On Sun, 11 Aug 2024, Robin Dapp wrote: > This patch adds an else operand to vectorized masked load calls. > The current implementation adds else-value arguments to the respective > target-querying functions that is used to supply the vectorizer with the > proper else value. > > Right now, the onl

Re: [PATCH 2/8] ifn: Add else-operand handling.

2024-08-21 Thread Richard Biener
> default: >return -1; > } > @@ -4857,6 +4893,12 @@ internal_fn_else_index (internal_fn fn) > case IFN_COND_LEN_SHR: >return 3; > > +case IFN_MASK_LOAD: > +case IFN_MASK_LEN_LOAD: > +case IFN_MASK_LOAD_LANES: > +case

Re: [PATCH] optabs-query: Guard smallest_int_mode_for_size [PR115495].

2024-08-21 Thread Richard Biener
On Wed, Aug 21, 2024 at 8:37 AM Robin Dapp wrote: > > Hi, > > in get_best_extraction_insn we use smallest_int_mode_for_size with > struct_bits as size argument. In PR115495 struct_bits = 256 and we > don't have a mode for that. This patch just bails for such cases. > > This does not happen on th

Re: [PATCH] Align ix86_{move_max,store_max} with vectorizer.

2024-08-21 Thread Richard Biener
On Wed, Aug 21, 2024 at 7:40 AM liuhongt wrote: > > When none of mprefer-vector-width, avx256_optimal/avx128_optimal, > avx256_store_by_pieces/avx512_store_by_pieces is specified, GCC will > set ix86_{move_max,store_max} as max available vector length except > for AVX part. > > if (T

Re: [PATCH] Do not emit a redundant DW_TAG_lexical_block for inlined subroutines

2024-08-21 Thread Richard Biener
On Wed, 21 Aug 2024, Richard Biener wrote: > On Tue, 20 Aug 2024, Bernd Edlinger wrote: > > > On 8/20/24 13:00, Richard Biener wrote: > > > On Fri, Aug 16, 2024 at 12:49 PM Bernd Edlinger > > > wrote: > > >> > > >> While thi

Re: [PATCH v1] Provide new GCC builtin __builtin_get_counted_by [PR116016]

2024-08-21 Thread Richard Biener
On Tue, Aug 20, 2024 at 3:41 PM Qing Zhao wrote: > > > > > On Aug 20, 2024, at 05:58, Richard Biener > > wrote: > > > > On Tue, Aug 13, 2024 at 5:34 PM Qing Zhao wrote: > >> > >> With the addition of the 'counted_by' attribute and i

Re: [PATCH 0/7] v3 of libdiagnostics

2024-08-21 Thread Richard Biener
On Wed, Aug 21, 2024 at 2:01 AM David Malcolm wrote: > > On Tue, 2024-08-20 at 11:49 +0200, Richard Biener wrote: > > On Thu, Aug 15, 2024 at 8:13 PM David Malcolm > > wrote: > > > > > > Here's v3 of my patch kit for "libdiagnostics", which mak

Re: [PATCH 3/8] tree-ifcvt: Enforce zero else value after maskload.

2024-08-21 Thread Richard Biener
On Wed, 21 Aug 2024, Robin Dapp wrote: > > > > When predicating a load we implicitly assume that the else value is > > > > zero. In order to formalize this this patch queries the target for > > > > its supported else operand and uses that for the maskload call. > > > > Subsequently, if the else o

Re: [PATCH] Do not emit a redundant DW_TAG_lexical_block for inlined subroutines

2024-08-21 Thread Richard Biener
On Tue, 20 Aug 2024, Bernd Edlinger wrote: > On 8/20/24 13:00, Richard Biener wrote: > > On Fri, Aug 16, 2024 at 12:49 PM Bernd Edlinger > > wrote: > >> > >> While this already works correctly for the case when an inlined > >> subrouti

Re: [PATCH 3/8] tree-ifcvt: Enforce zero else value after maskload.

2024-08-20 Thread Richard Biener
es); > > - gsi_replace (&gsi, new_stmt, true); > > + gsi_replace_with_seq (&gsi, call_seq, true); > > + } > > + else > > + { > > + new_stmt = predicate_rhs_code (stmt, mask, cond, > > &

Re: Subject: [PATCH 0/8] Masked load else operand.

2024-08-20 Thread Richard Biener
ct-patterns.cc | 17 +- > gcc/tree-vect-slp.cc | 22 +- > gcc/tree-vect-stmts.cc| 218 ++ > gcc/tree-vectorizer.h | 11 +- > 29 files changed, 848 insertions(+), 261 deletions(-) > create mode 1

Re: [RFC] early vector boolean lowering

2024-08-20 Thread Richard Biener
def maybe? Encoding this in relevancy doesn't look right. Note we also get testcases from time to time where invariant motion failed to move invariant code. We could possibly simply leave SLP scheduling to code-generate in the preheader (as said, that worked at some point). Richard. > This would

Re: [PATCH V3 10/10] autovectorizer: Test autovectorization of different dot-prod modes.

2024-08-20 Thread Richard Biener
On Tue, Aug 20, 2024 at 12:04 PM Tamar Christina wrote: > > > -Original Message- > > From: Richard Biener > > Sent: Tuesday, August 20, 2024 10:37 AM > > To: Victor Do Nascimento > > Cc: gcc-patches@gcc.gnu.org; Tamar Christina ; > > claz

Re: [PATCH] vect: Multistep float->int conversion only with no trapping math

2024-08-20 Thread Richard Biener
On Tue, Aug 20, 2024 at 11:16 AM Juergen Christ wrote: > > Am Tue, Aug 20, 2024 at 10:15:22AM +0200 schrieb Richard Biener: > > On Fri, Aug 9, 2024 at 2:58 PM Juergen Christ wrote: > > > > > > Am Thu, Aug 08, 2024 at 02:06:44PM +0200 schrieb Richard Biener: > >

Re: [PATCH 1/2] phi-opt: Fix for non-const functions for factor_out_conditional_operation [PR 116409]

2024-08-20 Thread Richard Biener
On Mon, Aug 19, 2024 at 8:38 PM Andrew Pinski wrote: > > Currently maybe_push_res_to_seq does not handle non-const builtins (it does > handle internal > functions though). I think it simply assumes they are const ... if we can indeed verify this we should make it match the builtin behavior. > S

Re: [PATCH 2/2] phiopt: Reject non gimple val inside factor_out_conditional_operation [PR116412]

2024-08-20 Thread Richard Biener
On Mon, Aug 19, 2024 at 8:38 PM Andrew Pinski wrote: > > After the conversion to use maybe_push_res_to_seq, sometimes (REALPART_EXPR > and IMAGPART_EXPR and VCE) the argument will not be a gimple value and > then phiopt here would create an invalid PHI. > Just add a check for gimple val is the way

Re: [PATCH v1] Vect: Promote unsigned .SAT_ADD constant operand for vectorizable_call

2024-08-20 Thread Richard Biener
On Sat, Aug 17, 2024 at 11:18 PM Jakub Jelinek wrote: > > On Sat, Aug 17, 2024 at 05:03:14AM +, Li, Pan2 wrote: > > Please feel free to let me know if there is anything I can do to fix this > > issue. Thanks a lot. > > There is no bug. The operands of .{ADD,SUB,MUL}_OVERFLOW don't have to ha

Re: [PATCH] libcpp: Adjust lang_defaults

2024-08-20 Thread Richard Biener
On Fri, Aug 16, 2024 at 7:58 PM Jakub Jelinek wrote: > > Hi! > > Here it is in patch form, at the same time I've turned it into bit-fields. > On x86_64-linux, this reduced .rodata by 532 bytes (so 5.75x reduction > of the variable) and grew the cpp_set_lang function by 26 bytes (8.4% > growth). >

Re: [RFC/RFA] [PATCH v2 09/12] Add symbolic execution support.

2024-08-20 Thread Richard Biener
On Fri, Aug 16, 2024 at 4:33 PM Jeff Law wrote: > > > > On 8/12/24 5:13 AM, Matevos Mehrabyan wrote: > > > > On Fri, Aug 2, 2024, 14:25 Richard Biener > > mailto:richard.guent...@gmail.com>> wrote: > > > On Wed, Jul 31, 2024 at 12:42 PM Ma

Re: [PATCH] testsuite: Add -fwrapv to signbit-5.c

2024-08-20 Thread Richard Biener
On Fri, Aug 16, 2024 at 4:30 PM Torbjorn SVENSSON wrote: > > > > On 2024-08-16 16:07, Jeff Law wrote: > > > > > > On 8/16/24 4:12 AM, Torbjörn SVENSSON wrote: > >> Ok for trunk and releases/gcc-14? > >> > >> Verified this on x86_64 and arm-none-eabi. > >> Don't know if the other "truth type" dg-li

Re: [PATCH] Do not emit a redundant DW_TAG_lexical_block for inlined subroutines

2024-08-20 Thread Richard Biener
On Fri, Aug 16, 2024 at 12:49 PM Bernd Edlinger wrote: > > While this already works correctly for the case when an inlined > subroutine contains only one subrange, a redundant DW_TAG_lexical_block > is still emitted when the subroutine has multiple blocks. Huh. The point is that the inline conte

Re: [PATCH v1] Provide new GCC builtin __builtin_get_counted_by [PR116016]

2024-08-20 Thread Richard Biener
On Tue, Aug 13, 2024 at 5:34 PM Qing Zhao wrote: > > With the addition of the 'counted_by' attribute and its wide roll-out > within the Linux kernel, a use case has been found that would be very > nice to have for object allocators: being able to set the counted_by > counter variable without knowi

Re: [PATCH 0/7] v3 of libdiagnostics

2024-08-20 Thread Richard Biener
On Thu, Aug 15, 2024 at 8:13 PM David Malcolm wrote: > > Here's v3 of my patch kit for "libdiagnostics", which makes GCC's > diagnostics subsystem available as a shared library; see: > https://gcc.gnu.org/wiki/libdiagnostics So this is to make use of this from gas? Is the plan to move sources

Re: [PATCH] Tweak base/index disambiguation in decompose_normal_address [PR116236]

2024-08-20 Thread Richard Biener
On Thu, Aug 15, 2024 at 4:57 PM Jeff Law wrote: > > > > On 8/15/24 2:50 AM, Richard Sandiford wrote: > > The PR points out that, for an address like: > > > >(plus (zero_extend X) Y) > > > > decompose_normal_address doesn't establish a strong preference > > between treating X as the base or Y a

Re: [PATCH V3 10/10] autovectorizer: Test autovectorization of different dot-prod modes.

2024-08-20 Thread Richard Biener
On Thu, Aug 15, 2024 at 10:46 AM Victor Do Nascimento wrote: > > From: Victor Do Nascimento > > Given the novel treatment of the dot product optab as a conversion, we > are now able to targe different relationships between output modes and > input modes. > > This is made clearer by way of example

Re: [PATCH v4] diagnostics: Follow DECL_ORIGIN in lhd_print_error_function [PR102061]

2024-08-20 Thread Richard Biener
On Sun, Aug 11, 2024 at 5:46 AM Peter Damianov wrote: > > Currently, if a warning references a cloned function, the name of the cloned > function will be emitted in the "In function 'xyz'" part of the diagnostic, > which users aren't supposed to see. This patch follows the DECL_ORIGIN link > to ge

Re: [PATCH] Use add_name_and_src_coords_attributes in modified_type_die

2024-08-20 Thread Richard Biener
On Wed, Jul 24, 2024 at 9:32 PM Tom Tromey wrote: > > While working on a patch to the Ada compiler, I found a spot in > dwarf2out.cc that calls add_name_attribute where a call to > add_name_and_src_coords_attributes would be better, because the latter > respects DECL_NAMELESS. If the point is DEC

Re: [PATCH] Update LDPT_REGISTER_CLAIM_FILE_HOOK_V2 linker plugin hook

2024-08-20 Thread Richard Biener
On Wed, Aug 14, 2024 at 3:15 PM H.J. Lu wrote: > > The new hook allows the linker plugin to distinguish calls to > claim_file_handler that know the object is being used by the linker > (from ldmain.c:add_archive_element), from calls that don't know it's > being used by the linker (from elf_link_is

Re: [PATCH 2/3] match: extend the `((a CMP b) ? c : 0) | ((a CMP' b) ? d : 0)` patterns to support ^ and + [PR103660]

2024-08-20 Thread Richard Biener
On Tue, Aug 13, 2024 at 6:31 AM Andrew Pinski wrote: > > r13-4620-g4d9db4bdd458 Added a few patterns and some of them can be extended > to support XOR and PLUS. > This extends the patterns to support XOR and PLUS instead of just IOR. > > Bootstrapped and tested on x86_64-linux-gnu. OK. >

Re: [PATCH 1/3] testsuite: Add testcases for part of PR 103660

2024-08-20 Thread Richard Biener
On Tue, Aug 13, 2024 at 6:31 AM Andrew Pinski wrote: > > IOR part of the bug report was fixed by r13-4620-g4d9db4bdd458 but > that added only aarch64 specific testcases. This adds 4 > generic testcases for this to check to make sure they are optimized. > The C++ testcases are the vector type versi

Re: [PATCH 3/3] Match: Add pattern for `(a ? b : 0) | (a ? 0 : c)` into `a ? b : c` [PR103660]

2024-08-20 Thread Richard Biener
On Tue, Aug 13, 2024 at 6:31 AM Andrew Pinski wrote: > > This adds a pattern to convert `(a ? b : 0) | (a ? 0 : c)` into `a ? b : c` > which is simplier. It adds both for cond and vec_cond; even though vec_cond is > handled via a different pattern currently but requires extra steps for > matching

Re: [PATCH] vect: Multistep float->int conversion only with no trapping math

2024-08-20 Thread Richard Biener
On Fri, Aug 9, 2024 at 2:58 PM Juergen Christ wrote: > > Am Thu, Aug 08, 2024 at 02:06:44PM +0200 schrieb Richard Biener: > > On Mon, Aug 5, 2024 at 4:02 PM Juergen Christ wrote: > > > > > > Am Mon, Aug 05, 2024 at 01:00:31PM +0200 schrieb Richard Biener: > >

Re: [PATCH] MATCH: add abs support for half float

2024-08-20 Thread Richard Biener
On Fri, Aug 9, 2024 at 2:39 AM Kugan Vivekanandarajah wrote: > > Thanks for the comments. > > > On 2 Aug 2024, at 8:36 pm, Richard Biener > > wrote: > > > > External email: Use caution opening links or attachments > > > > > > On Fri, Aug 2,

Re: [PATCH]: Fix PR testsuite/116271, gcc.dg/vect/tsvc/vect-tsvc-s176.c fails

2024-08-20 Thread Richard Biener
On Fri, Aug 9, 2024 at 2:03 AM Joern Wolfgang Rennecke wrote: > > In the previous patch to reduce iteration counts, I have overlooked > that, in the inner loop of s176, the array index i+m-j-1 > turns negativeat for higher iterations of the middle loop for small m. > m and the iteration end of the

Re: [PATCH 3/3] libcpp: add AVX2 helper

2024-08-20 Thread Richard Biener
On Thu, Aug 8, 2024 at 7:44 PM Alexander Monakov wrote: > > > > On Wed, 7 Aug 2024, Richard Biener wrote: > > > > > OK with that change. > > > > > > Did you think about a AVX512 version (possibly with 32 byte vectors)? > > > In case there&#

Re: Re-compute TYPE_MODE and DECL_MODE while streaming in for accelerator

2024-08-19 Thread Richard Biener
> Am 19.08.2024 um 20:56 schrieb Richard Sandiford : > > Prathamesh Kulkarni writes: >> diff --git a/gcc/lto-streamer-in.cc b/gcc/lto-streamer-in.cc >> index cbf6041fd68..0420183faf8 100644 >> --- a/gcc/lto-streamer-in.cc >> +++ b/gcc/lto-streamer-in.cc >> @@ -44,6 +44,7 @@ along with GCC; se

Re: [PATCH 1/2] SVE intrinsics: Fold constant operands for svdiv

2024-08-19 Thread Richard Biener
+ return svdiv_z (pg, op1, svdup_u64 (0)); > > +} > > + > > +/* > > +** u64_m_pg_op2: > > +** mov (z[0-9]+)\.b, #0 > > +** udiv(z[0-9]+\.d), p[0-7]/m, \2, \1\.d > > +** ret > > +*/ > > +svuint64_t u64_m_pg_op2 (svbool_t pg, svuint64

Re: Re-compute TYPE_MODE and DECL_MODE while streaming in for accelerator

2024-08-19 Thread Richard Biener
> Does the patch look in the right direction ? +/* Compute TYPE_MODE for TYPE (which is ARRAY_TYPE). */ + +void compute_array_mode (tree type) +{ newline after 'void' Otherwise LGTM, please leave time for others to comment though. Thanks, Richard. > Signed-off-by: Prathamesh Kulkarn

RE: [optc-save-gen.awk] Fix streaming of command line options for offloading

2024-08-19 Thread Richard Biener
On Mon, 19 Aug 2024, Prathamesh Kulkarni wrote: > > > > -Original Message- > > From: Richard Biener > > Sent: Tuesday, August 13, 2024 12:52 PM > > To: Andrew Pinski > > Cc: Prathamesh Kulkarni ; gcc- > > patc...@gcc.gnu.org; Thomas Schwinge

Re: [PATCH 4/5] lto: Set has_unroll flag when streaming in for LTO [PR116140]

2024-08-19 Thread Richard Biener
On Fri, 9 Aug 2024, Alex Coplan wrote: > On 09/08/2024 13:12, Richard Biener wrote: > > > > > > > Am 09.08.2024 um 11:30 schrieb Alex Coplan : > > > > > > When #pragma GCC unroll is processed in > > > tree-cfg.cc:replace_loop_annotate_in_blo

Re: [nvptx] Pass -m32/-m64 to host_compiler if it has multilib support

2024-08-19 Thread Richard Biener
nrecognized command line option error), > and is set to 1 for x86_64 host. > > Does the patch look OK ? The patch looks reasonable to me. Thanks, Richard. > Signed-off-by: Prathamesh Kulkarni > > Thanks, > Prathamesh > -- Richard Biener SUSE Software Solutio

Re: [PATCH] forwprop: Also dce from added statements from gimple_simplify

2024-08-17 Thread Richard Biener
> Am 18.08.2024 um 00:57 schrieb Andrew Pinski : > > This extends r14-3982-g9ea74d235c7e78 to also include the newly added > statements > since some of them might be dead too (due to the way match and simplify > works). > This was noticed while working on adding a new match and simplify patt

Re: [nvptx] Pass -m32/-m64 to host_compiler if it has multilib support

2024-08-13 Thread Richard Biener
> Am 13.08.2024 um 17:48 schrieb Thomas Schwinge : > > Hi Prathamesh! > > On 2024-08-12T07:50:07+, Prathamesh Kulkarni > wrote: >>> From: Thomas Schwinge >>> Sent: Friday, August 9, 2024 12:55 AM > >>> On 2024-08-08T06:46:25-0700, Andrew Pinski wrote: On Thu, Aug 8, 2024 at 6:11

Re: [optc-save-gen.awk] Fix streaming of command line options for offloading

2024-08-13 Thread Richard Biener
> Am 13.08.2024 um 08:37 schrieb Andrew Pinski : > > On Mon, Aug 12, 2024 at 10:36 PM Prathamesh Kulkarni > wrote: >> >> Hi, >> As mentioned in: >> https://gcc.gnu.org/pipermail/gcc/2024-August/244581.html >> >> AArch64 cl_optimization_stream_out streams out target-specific optimization >>

Re: [PATCH] Use splay-tree-utils.h in tree-ssa-sccvn [PR30920]

2024-08-09 Thread Richard Biener
> Am 09.08.2024 um 19:19 schrieb Richard Sandiford : > > This patch is an attempt to gauge opinion on one way of fixing PR30920. > > The PR points out that the libiberty splay tree implementation does > not implement the algorithm described by Sleator and Tarjan and has > unclear complexity b

Re: [PATCH 4/5] lto: Set has_unroll flag when streaming in for LTO [PR116140]

2024-08-09 Thread Richard Biener
> Am 09.08.2024 um 11:30 schrieb Alex Coplan : > > When #pragma GCC unroll is processed in > tree-cfg.cc:replace_loop_annotate_in_block, we set both the loop->unroll > field (which is currently streamed out and back in during LTO) but also > the cfun->has_unroll flag. > > cfun->has_unroll, ho

Re: [PATCH] RISC-V: tree-optimization/116274 - overzealous SLP vectorization

2024-08-08 Thread Richard Biener
> Am 08.08.2024 um 15:12 schrieb Richard Sandiford : > > Richard Biener writes: >> The following tries to address that the vectorizer fails to have >> precise knowledge of argument and return calling conventions and >> views some accesses as loads and stores that

Re: [PATCH v2] Rearrange SLP nodes with duplicate statements. [PR98138]

2024-08-08 Thread Richard Biener
On Tue, Aug 6, 2024 at 12:38 PM Manolis Tsamis wrote: > > Pinging this for a review and/or further feedback. > > Thanks, > Manolis > > On Wed, Jun 26, 2024 at 3:06 PM Manolis Tsamis > wrote: > > > > This change checks when a two_operators SLP node has multiple occurrences of > > the same stateme

Re: [PATCH] vect: Multistep float->int conversion only with no trapping math

2024-08-08 Thread Richard Biener
On Mon, Aug 5, 2024 at 4:02 PM Juergen Christ wrote: > > Am Mon, Aug 05, 2024 at 01:00:31PM +0200 schrieb Richard Biener: > > On Fri, Aug 2, 2024 at 2:43 PM Juergen Christ wrote: > > > > > > Do not convert floats to ints in multiple step if trapping math is > &

Re: [RFC] Generalize formation of lane-reducing ops in loop reduction

2024-08-08 Thread Richard Biener
On Sat, Aug 3, 2024 at 2:42 PM Feng Xue OS wrote: > > >> 1. Background > >> > >> For loop reduction of accumulating result of a widening operation, the > >> preferred pattern is lane-reducing operation, if supported by target. > >> Because > >> this kind of operation need not preserve intermediat

[PATCH] RISC-V: tree-optimization/116274 - overzealous SLP vectorization

2024-08-08 Thread Richard Biener
The following tries to address that the vectorizer fails to have precise knowledge of argument and return calling conventions and views some accesses as loads and stores that are not. This is mainly important when doing basic-block vectorization as otherwise loop indexing would force such arguments

Re: [PATCH v3] diagnostics: Follow DECL_ORIGIN in lhd_print_error_function [PR102061]

2024-08-08 Thread Richard Biener
On Thu, Aug 8, 2024 at 4:55 AM Peter Damianov wrote: > > Currently, if a warning references a cloned function, the name of the cloned > function will be emitted in the "In function 'xyz'" part of the diagnostic, > which users aren't supposed to see. This patch follows the DECL_ORIGIN link > to get

Re: [PATCH] doc: move the cross reference for -fprofile-arcs to the right paragraph

2024-08-08 Thread Richard Biener
On Thu, Aug 8, 2024 at 4:03 AM Wentao Zhang wrote: > > The referenced page contains more explanation of auxname.gcda produced > by gcov profiler, which is a continuation of -fprofile-arcs's > description. OK > gcc/ChangeLog: > > * doc/invoke.texi (Instrumentation Options): Move the cross

Re: sched1 pathology on RISC-V : PR/114729

2024-08-08 Thread Richard Biener
On Thu, Aug 8, 2024 at 12:17 AM Vineet Gupta wrote: > > On 8/7/24 12:28, Jeff Law wrote: > > On 8/7/24 11:47 AM, Richard Sandiford wrote: > >> I should probably start by saying that the "model" heuristic is now > >> pretty old and was originally tuned for an in-order AArch32 core. > >> The aim was

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