Approved
On Sun, Jun 2, 2024 at 8:02 PM Kewen Lin wrote:
> This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE
> defines in xtensa port.
>
> gcc/ChangeLog:
>
> * config/xtensa/xtensa.h (FLOAT_TYPE_SIZE): Remove.
> (DOUBLE_TYPE_SIZE): Likewise.
> (LONG_DOUBLE_TYPE_SI
On Tue, Feb 16, 2016 at 4:35 PM, Max Filippov wrote:
> Functions __muldf3_aux, __divdf3_aux, __mulsf3_aux and __divsf3_aux
> don't start with leaf_entry, so they need explicit .literal_position,
> otherwise libgcc build fails in the presence of --text-section-literals.
>
> 2016-02-17 Max Filippov
On Tue, Sep 15, 2015 at 3:00 AM, Max Filippov wrote:
> 2015-09-15 Max Filippov
> gcc/
> * config/xtensa/xtensa.c (xtensa_call_tls_desc): Use a10 or a2
> to pass TLS call argument, according to current ABI.
> * config/xtensa/xtensa.md (tls_call pattern): Use callx8 or
Ap
On Tue, Sep 15, 2015 at 3:00 AM, Max Filippov wrote:
> 2015-09-15 Max Filippov
> gcc/
> * config/xtensa/xtensa.h (DWARF_ALT_FRAME_RETURN_COLUMN): New
> definition.
> (DWARF_FRAME_REGISTERS): Reserve space for one extra register in
> call0 ABI.
>
> libgcc/
>
On Wed, Sep 30, 2015 at 8:23 AM, Max Filippov wrote:
> 2015-09-30 Max Filippov
> gcc/
> * config.gcc (xtensa*-*-uclinux*): New configuration.
> * config/xtensa/uclinux.h: New file.
> * config/xtensa/uclinux.opt: New file.
>
> libgcc/
> * config.host (xtensa*-*-uc
On Tue, Sep 24, 2019 at 5:41 PM Max Filippov wrote:
>
> Xtensa hwloop_optimize segfaults when zero overhead loop is about to be
> inserted as the first instruction of the function.
> Insert zero overhead loop instruction into new basic block before the
> loop when basic block that precedes the loo
On Tue, Sep 4, 2018 at 9:42 AM Max Filippov wrote:
> NAND is ~(a1 & a2), but xtensa_expand_atomic does ~a1 & a2.
> That fixes libatomic tests atomic-op-{1,2}.
>
> gcc/
> 2018-09-04 Max Filippov
>
> * config/xtensa/xtensa.c (xtensa_expand_atomic): Reorder AND and
> XOR operation
On Mon, Dec 4, 2017 at 1:28 PM, Max Filippov wrote:
> gcc/
> 2017-12-04 Max Filippov
>
> * config/xtensa/xtensa.c (xtensa_asan_shadow_offset): New
> function.
> (TARGET_ASAN_SHADOW_OFFSET): New macro definition.
> * config/xtensa/xtensa.h (FRAME_GROWS_DOWNWARD):
On Mon, Jun 18, 2018 at 3:10 PM, Max Filippov wrote:
> gcc/
> 2018-06-17 Max Filippov
>
> * config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec
> constant.
> (allocate_stack, frame_blockage, *frame_blockage): New patterns.
>
This is OK.
On Tue, Jan 23, 2018 at 9:55 AM, Max Filippov wrote:
> libgcc/
> 2018-01-22 Max Filippov
>
> * config/xtensa/ieee754-df.S (__addsf3, __subsf3, __mulsf3)
> (__divsf3): Make NaN return value quiet.
> * config/xtensa/ieee754-sf.S (__adddf3, __subdf3, __muldf3)
> (__
On Tue, Jan 30, 2018 at 8:02 PM, Max Filippov wrote:
>
> libgcc/
> 2018-01-31 Max Filippov
>
> * config/xtensa/ieee754-df.S (__adddf3_aux): Add
> .literal_position directive.
> * config/xtensa/ieee754-sf.S (__addsf3_aux): Likewise.
This is fine, but when did it stop wo
On Sun, Oct 12, 2014 at 3:46 PM, Max Filippov wrote:
> Hi Sterling,
>
> this series fixes two bugs in xtensa.md:
HI Max, thanks for this. I don't see a patch though.
On Sun, Oct 12, 2014 at 3:46 PM, Max Filippov wrote:
> 2014-10-10 Max Filippov
>
> gcc/
> * config/xtensa/xtensa.h (TARGET_HARD_FLOAT_POSTINC): new macro.
> * config/xtensa/xtensa.md (*lsiu, *ssiu): add dependency on
> !TARGET_HARD_FLOAT_POSTINC.
> (*lsip, *ssip): new instructio
On Sun, Oct 12, 2014 at 3:46 PM, Max Filippov wrote:
> xtensa ISA never implemented FP division, reciprocal, square root and
> inverse square root as single opcode. Remove patterns that can emit
> them.
>
> 2014-10-09 Max Filippov
>
> gcc/
> * config/xtensa/xtensa.md (divsf3, *recipsf2, sqr
On Fri, Oct 10, 2014 at 6:59 AM, Felix Yang wrote:
> Hi Sterling,
>
> I made some improvement to the patch. Two changes:
> 1. TARGET_LOOPS is now used as a condition of the doloop related
> patterns, which is more elegant.
Fine.
> 2. As the trip count register of the zero-cost loop m
sible that this register can be spilled when register
>> pressure is high.
>> It's a good idea to post another patch to describe the LCOUNT
>> register in GCC in order to free this general register. But I want
>> this patch applied as a first step, OK?
>>
>&
t; >>
>> >> The patch checked the usage of teh trip count register, making sure
>> >> that it is not used in the loop body other than the doloop_end or
>> >> lives past the doloop_end instruction, as the following code snippet
>> >> shows:
>&
On Tue, Oct 21, 2014 at 7:20 PM, Yangfei (Felix) wrote:
> If the tripcount spill issue is not handled in the pattern, ICE may happen
> then.
> Here reload is trying to spill pseudo 173, but a memory operand is not
> allowed in zero_cost_loop_end pattern.
> And this is what I am trying to solve.
On Thu, Oct 23, 2014 at 9:12 PM, Yangfei (Felix) wrote:
>> Here the key point is we need a general purpose register for the "loop"
>> instruction.
So the question to ask here is, "How does this work today, without
loop instructions?" Somehow--even when it has been spilled--a branch
instruction ca
I mean without your patch at all.
On Thu, Oct 23, 2014 at 11:30 PM, Yangfei (Felix) wrote:
>>
>> On Thu, Oct 23, 2014 at 9:12 PM, Yangfei (Felix)
>> wrote:
>> >> Here the key point is we need a general purpose register for the "loop"
>> >> instruction.
>>
>> So the question to ask here is, "How
On Thu, Oct 23, 2014 at 11:40 PM, Yangfei (Felix) wrote:
> 1. The original xtensa port never generates "loop" instruction at all.
> 2. A port doesn't need to implement hwloop_pattern_reg hook if it has no
> zero-cost loop instruction.
>
> Is that clear?
We are talking in circles. I understand ve
On Sat, Oct 25, 2014 at 2:17 AM, Richard Sandiford
wrote:
> This is part of a series to remove uses of for_each_rtx from the ports.
>
> Tested by making sure there were no code changes for gcc.dg, gcc.c-torture
> and g++.dg for xtensa-elf. OK to install?
OK for Xtensa
On Tue, Jun 24, 2014 at 10:20 PM, Jan Hubicka wrote:
>> Hi!
>>
>> This is the xtensa fallout, see
>> http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=272418
>>
>> g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions
>> -fno-rtti -fasynchronous-unwind-tables -W -Wa
On Tue, May 19, 2015 at 8:31 PM, Max Filippov wrote:
> 2015-05-20 Max Filippov
> gcc/
> * config/xtensa/xtensa.c (init_alignment_context): Replace MULT
> by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
Approved, please apply.
On Sat, Feb 21, 2015 at 4:19 PM, Max Filippov wrote:
> gcc for xtensa always aligns data at least to a word boundary, even when
> it has smaller natural alignment. This results in unexpectedly high data
> section sizes and unreasonable amount of wasted space when linking
> objects compiled with -f
On Tue, Feb 24, 2015 at 9:05 AM, Chen Gang S wrote:
>
> - After this patch, it can continue compiling, but can we be sure that
>it always generates correct code for execution?
After this patch, it should be no worse than it was--lucky.
Someone is working on fixing the underlying xtensa patt
On Tue, Feb 24, 2015 at 2:05 PM, Max Filippov wrote:
> Hi,
>
> On Tue, Feb 24, 2015 at 6:54 PM, Jeff Law wrote:
>>
>> You can tackle them in any order you wish. However, I suspect fixing the
>> xtensa backend may be easier. I don't have any good way to test xtensa, but
>> something like the att
On Tue, Feb 24, 2015 at 4:45 PM, Max Filippov wrote:
>
> Sterling,
>
> I was referring Jeff's patch, do you say that his patch is not the proper
> fix?
No, I was thinking of Chen's patch. Jeff's patch is the right one.
Jeff, your patch is OK for xtensa. Do you mind checking it in?
On Wed, Feb 25, 2015 at 6:39 AM, Jeff Law wrote:
>
> Done.
> jeff
Thanks!
On Sat, Feb 28, 2015 at 10:14 AM, Max Filippov wrote:
> This allows a target to support both windowed and non-windowed ABI.
>
> 2015-02-28 Max Filippov
>
> gcc/
> * builtins.c (expand_builtin_return_addr): Add
> RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition.
> * config
On Sat, Feb 28, 2015 at 10:14 AM, Max Filippov wrote:
> call0 is an ABI that doesn't use register windows.
>
> 2015-02-28 Max Filippov
>
> gcc/
> * config/xtensa/constraints.md ("a" constraint): Include stack
> pointer in case of call0 ABI.
> ("q" constraint): Make empty
On Tue, Jun 9, 2015 at 3:14 PM, Max Filippov wrote:
> gcc/
> * config/xtensa/xtensa.h (TARGET_DEBUG): New definition.
> * config/xtensa/xtensa.md (define_attr "type"): New type "trap".
> (define_insn "trap"): New definition.
> ---
> Changes v1->v2:
> - drop break.n, replace
On Tue, Oct 28, 2014 at 5:22 AM, Yangfei (Felix) wrote:
> Hi Sterling,
> How do you think about this issue?
> As c6x/bfin port handles this the same way, is it OK for the patch to be
> applied?
> Thanks.
I have committed this patch as attached. I made a couple of minor
cleanups, plus some
On Tue, Jun 18, 2019 at 2:27 PM Max Filippov wrote:
>
> Stack pointer adjustment code in prologue missed a case of no
> callee-saved registers and a stack frame size bigger than 128 bytes.
> Handle that case.
>
> This fixes the following gcc tests with call0 ABI:
> gcc.c-torture/execute/stdarg-2
On Sun, Dec 30, 2018 at 1:06 AM Max Filippov wrote:
>
> Xtensa architecture is not affected by speculation.
>
> gcc/
> 2018-12-30 Max Filippov
>
> * config/xtensa/xtensa.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
> Define to speculation_safe_value_not_needed.
Approved.
On Mon, Nov 5, 2018 at 11:07 AM Max Filippov wrote:
> xtensa-uclinux uses bFLT executable file format that cannot relocate
> fields representing offsets from data to code. C++ objects built as PIC
> use offsets to encode FDE structures. As a result C++ exception handling
> doesn't work correctly
On Tue, Jun 25, 2019 at 1:41 PM wrote:
>
> From: Aaron Sawdey
>
> * config/xtensa/xtensa.md (movmemsi): Change name to cpymemsi.
> ---
> gcc/config/xtensa/xtensa.md | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
OK for xtensa.
On Tue, May 14, 2019 at 10:28 AM Max Filippov wrote:
>
> Let backends call assemble_start_function after they have generated
> thunk function body so that a constant pool could be output if it is
> required. This may help backends to avoid implementing custom constant
> loading code specifically f
On Fri, Aug 26, 2016 at 12:02 AM, Max Filippov wrote:
> This enables options -fstack-usage and -Wstack-usage.
>
> 2016-08-21 Max Filippov
> gcc/
> * config/xtensa/xtensa.c (xtensa_expand_prologue): Update
> current_function_static_stack_size variable with the static
> st
On Mon, Sep 11, 2017 at 2:16 PM, Max Filippov wrote:
> 2017-09-11 Max Filippov
> gcc/
> * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both
> words of E_DImode object are reachable by xtensa_uimm8x4 access.
Approved. Please apply.
On Mon, May 8, 2017 at 3:55 PM, Max Filippov wrote:
> gcc/
> 2017-03-27 Max Filippov
>
> * config/xtensa/xtensa-protos.h
> (xtensa_initial_elimination_offset): New declaration.
> * config/xtensa/xtensa.c (xtensa_initial_elimination_offset):
> New function. Move i
On Mon, May 22, 2017 at 2:09 PM, Max Filippov wrote:
> XCHAL_* macros from the xtensa-config.h are used in a number of places
> that require them to be preprocessor constants. Rewrite these places so
> that non-constant XCHAL_* definitions could be used there.
This whole series of patches is goin
On Mon, May 22, 2017 at 2:09 PM, Max Filippov wrote:
> XCHAL_* macros from the xtensa-config.h are used in a number of places
> that require them to be preprocessor constants. Rewrite these places so
> that non-constant XCHAL_* definitions could be used there.
>
> 2017-05-22 Max Filippov
> gcc/
On Mon, May 22, 2017 at 2:09 PM, Max Filippov wrote:
> Now that XCHAL_* macros don't have to be preprocessor constants add
> include/xtensa-dynconfig.h that defines them as fields of a structure
> returned from the xtensa_get_config function.
> Define that structure and fill it with default parame
On Mon, May 29, 2017 at 4:11 AM, Max Filippov wrote:
> 2017-05-28 Max Filippov
> gcc/
> * config/xtensa/xtensa.c (xtensa_initial_elimination_offset):
> Mark 'to' argument with ATTRIBUTE_UNUSED.
This is ok.
On Mon, May 29, 2017 at 4:11 AM, Max Filippov wrote:
> HOST_WIDE_INT may not be long as assumed in print_operand and
> xtensa_emit_call. Use HOST_WIDE_INT_PRINT_DEC/HOST_WIDE_INT_PRINT_HEX
> format strings instead of %ld/0x%lx. This fixes incorrect assembly code
> generation by the compiler runnin
On Fri, Oct 14, 2016 at 12:14 PM, Max Filippov wrote:
>
> Use new FPU instruction sequences documented in the ISA book to
> implement __divsf3, __divdf3, __recipsf2, __recipdf2, __rsqrtsf2,
> __rsqrtdf2 and __ieee754_sqrtf and __ieee754_sqrt.
>
> 2013-02-12 Ding-Kai Chen
> libgcc/
> * c
On Mon, Oct 17, 2016 at 4:23 PM, Max Filippov wrote:
> Define LIB2ADDEH_XTENSA_UNWIND_DW2_FDE to unwind-dw2-fde.c in
> xtensa/t-elf and to unwind-dw2-fde-dip.c in xtensa/t-linux and use
> LIB2ADDEH_XTENSA_UNWIND_DW2_FDE in LIB2ADDEH definition.
>
> 2016-10-17 Max Filippov
> libgcc/
> *
On Mon, Oct 31, 2016 at 11:32 PM, Max Filippov wrote:
> 2016-10-26 Max Filippov
> gcc/
> * config/xtensa/xtensa-protos.h
> (xtensa_use_return_instruction_p): New prototype.
> * config/xtensa/xtensa.c (xtensa_current_frame_size,
> xtensa_callee_save_size): Remove.
On Tue, Nov 1, 2016 at 12:45 PM, Max Filippov wrote:
> With jump trampolines implemented in binutils since 2.25 and enabled by
> default this test no longer fails on xtensa.
>
> 2016-11-01 Max Filippov
> gcc/testsuite/
> * gcc.c-torture/compile/20001226-1.c: Don't xfail on xtensa.
Appr
On Tue, Nov 1, 2016 at 12:11 PM, Max Filippov wrote:
> xtensa gcc gets ICE on pr59037.c test because its xtensa_output_literal
> function cannot handle integer literals of sizes other than 4 and 8,
> whereas the test uses 16-byte int vector.
> Split integer literal formatting into the recursive fu
On Tue, Nov 29, 2016 at 2:08 PM, Max Filippov wrote:
> 2016-11-29 Max Filippov
> gcc/
> * config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero
> overhead loop start between a call and its CALL_ARG_LOCATION
> note.
Approved. Please apply.
On Tue, Aug 11, 2015 at 6:09 PM, Max Filippov wrote:
> With support from assembler this option allows compiling huge functions,
> where single literal pool at the beginning of a function may not be
> reachable by L32R instructions at its end.
>
> Currently assembler --auto-litpools option cannot d
On Mon, Aug 17, 2015 at 2:59 PM, Max Filippov wrote:
> This allows having exception cleanup code in binaries that don't
> register their unwind tables.
>
> 2015-08-18 Max Filippov
> libgcc/
> * config/xtensa/t-windowed (LIB2ADDEH): Replace unwind-dw2-fde
> with unwind-dw2-fde-di
On Mon, Aug 17, 2015 at 2:59 PM, Max Filippov wrote:
> 2015-08-18 Max Filippov
> libgcc/
> * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill): Use
> CALL12 followed by series of ENTRY to spill windowed registers.
> (__xtensa_nonlocal_goto): Call __xtensa_libgcc_w
On Mon, Aug 17, 2015 at 2:59 PM, Max Filippov wrote:
> 2015-08-18 Max Filippov
> libgcc/
> * config/xtensa/unwind-dw2-xtensa.c (_Unwind_GetCFA): Return
> context->sp instead of context->cfa.
Approved.
On Mon, Dec 29, 2014 at 3:12 PM, Max Filippov wrote:
> Currently building gcc for xtensa configuration with XCHAL_HAVE_LOOPS
> set to 0 fails with the following error:
>
> xtensa.c:3952: undefined reference to `reorg_loops(bool, hw_doloop_hooks*)'
>
> Only compile target-specific zero-overhead l
On Fri, Jul 4, 2014 at 2:11 PM, Jan-Benedict Glaw wrote:
> On Wed, 2014-06-25 08:55:57 -0700, augustine.sterl...@gmail.com
> wrote:
>> On Tue, Jun 24, 2014 at 10:20 PM, Jan Hubicka wrote:
>> > > This is the xtensa fallout, see
>> > > http://toolchain.lug-ow
58 matches
Mail list logo