On 10/5/23 08:46, Stefan Schulze Frielinghaus wrote:
> gcc/ChangeLog:
>
> * config/s390/s390.md: Make use of new copysign RTL.
Ok. Thanks!
Andreas
> ---
> gcc/config/s390/s390.md | 6 ++
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/gcc/config/s390/s390.md b/gcc
On 10/16/23 13:20, Stefan Schulze Frielinghaus wrote:
> The normal form of a CONST_INT which represents an integer of a mode
> with fewer bits than in HOST_WIDE_INT is sign extended. This even holds
> for unsigned integers.
>
> This fixes an ICE during cse1 where we bail out at rtl.h:2297 since
>
On 06/20/2018 01:41 PM, Andreas Krebbel wrote:
> When turning a user-defined numerical literal into an operator
> invocation the literal needs to be translated to the execution
> character set.
>
> Bootstrapped and regtested on s390x. x86_64 still running.
> Ok to apply
On 07/12/2018 01:34 PM, Robin Dapp wrote:
> Hi,
>
>> Please skip '+ && !opts->x_optimize_size)'. I'm attaching patch
>> that will
>> set opts->x_flag_align_functions to 0 for -Os. It's part of another batch
>> alignment patches I'm preparing.
>
> done in the attached version and added some t
Obviously I missed doing a refresh for some time already.
Do the updates look reasonable?
Andreas
libstdc++-v3/ChangeLog:
2018-07-13 Andreas Krebbel
* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt
On 07/13/2018 04:58 PM, Andreas Schwab wrote:
> On Jul 13 2018, Andreas Krebbel wrote:
>
>> @@ -5645,3 +5657,5 @@ OBJECT:8:_ZTTSi@@GLIBCXX_3.4
>> OBJECT:8:_ZTTSo@@GLIBCXX_3.4
>> OBJECT:8:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@
On 07/16/2018 01:02 PM, Robin Dapp wrote:
>> But on zEC12 LA works pretty much the same as on z13/z14, it is
>> indeed not cracked, but still a 2-cycle instruction when using
>> an index register. So I guess the change really should apply
>> to zEC12 as well, and this could be as simple as changin
On 07/16/2018 09:48 AM, Ilya Leoshkevich wrote:
> This is the counterpart of the i386 feature introduced by
> 39a5a6a4: Add direct support for Linux kernel __fentry__ patching.
>
> On i386, the difference between mcount and fentry is that fentry
> comes before the prolog. On s390 mcount already co
On 07/16/2018 09:48 AM, Ilya Leoshkevich wrote:
> This is the counterpart of the i386 feature introduced by
> 39a5a6a4: Add direct support for Linux kernel __fentry__ patching.
>
> * gcc/config/s390/s390.c (s390_function_profiler): Generate
> __mcount_loc section.
> * gcc/c
On 07/16/2018 09:48 AM, Ilya Leoshkevich wrote:
> This is the counterpart of the i386 feature introduced by
> 39a5a6a4: Add direct support for Linux kernel __fentry__ patching.
>
> On i386 the profiler call sequence always consists of 1 call
> instruction, so -mnop-mcount generates a single nop wi
On 07/17/2018 12:48 PM, Ilya Leoshkevich wrote:
> Fixes unwind for mcount.
>
> 2018-07-17 Ilya Leoshkevich
>
> * config/s390/s390.c (s390_function_profiler):
> Generate CFI.
Applied. Thanks!
Andreas
From: Andreas Krebbel
gcc/ChangeLog:
2018-07-31 Andreas Krebbel
* config/s390/s390.c (s390_expand_setmem): Make the unrolling to
depend on whether prefetch instructions will be emitted or not.
Use TARGET_SETMEM_PFD for checking whether prefetch instructions
On 10/25/23 16:50, Juergen Christ wrote:
> Transactional and non-transactional stores to the same cache line cause
> transactions to abort on newer generations. Add sufficient padding to make
> sure another cache line is used.
>
> Tested on s390.
>
> gcc/testsuite/ChangeLog:
>
> * gcc.tar
On 23.10.19 13:02, Ilya Leoshkevich wrote:
> Boostrapped and regtested on s390x-redhat-linux.
>
> gcc/ChangeLog:
>
> 2019-10-21 Ilya Leoshkevich
>
> * config/s390/s390.c (s390_get_thread_pointer): Use
> gen_get_thread_pointer.
> (s390_expand_split_stack_prologue): Likewise.
On 02.10.19 17:06, Martin Jambor wrote:
> Hi,
>
> I seem to remember I minimized gcc.dg/ipa/ipa-sra-19.c on power but
> perhaps I am wrong because the testcase fails there with a
> power-specific error:
>
> gcc.dg/ipa/ipa-sra-19.c:19:3: error: AltiVec argument passed to unprototyped
> function
>
On 24.10.19 15:26, Martin Jambor wrote:
> Hi,
>
> On Thu, Oct 24 2019, Andreas Krebbel wrote:
>> On 02.10.19 17:06, Martin Jambor wrote:
>>> Hi,
>>>
>>> I seem to remember I minimized gcc.dg/ipa/ipa-sra-19.c on power but
>>> perhaps I am wron
Andreas Krebbel
* gcc.dg/ipa/ipa-sra-19.c: Remove dg-skip-if. Add argument type to
prototype of k.
---
gcc/testsuite/gcc.dg/ipa/ipa-sra-19.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-sra-19.c
b/gcc/testsuite/gcc.dg/ipa/ipa
Andreas Krebbel (4):
IBM Z: Use tree_fits_uhwi_p in vector_alignment hook
IBM Z: Fix testsuite useable_hw check
IBM Z: gen-vect-11/32: Set min-vect-loop-bound param back to default
IBM Z: gen-vect-26/28: Vectorizing without peeling is ok for Z
gcc/config/s390/s390.c
/ChangeLog:
2019-11-05 Andreas Krebbel
* gcc.target/s390/s390.exp
(check_effective_target_s390_useable_hw): Add inline asm for z14
and z15. Replace instruction for z13 with lochiz. Add register
clobbers. Check also for __zarch__ when doing the __VX__ test.
---
gcc
actually is a pity.
The patch sets min-vect-loop-bound back to the default value of 0 in
order to enable vectorization.
2019-11-05 Andreas Krebbel
* gcc.dg/tree-ssa/gen-vect-11.c: Add --param min-vect-loop-bound=0
for IBM Z.
* gcc.dg/tree-ssa/gen-vect-11.c: Likewise
This fixes an ICE in gcc.dg/attr-vector_size.c testcase.
gcc/ChangeLog:
2019-11-05 Andreas Krebbel
* config/s390/s390.c (s390_vector_alignment): Check if the value
fits into uhwi before using it.
---
gcc/config/s390/s390.c | 8 +++-
1 file changed, 7 insertions(+), 1
These tests check if loop peeling has been applied to avoid
having to vectorize unaligned loops. On Z we do not have any
alignment requirements for vectorization so we also don't need want
the loop peeling here.
2019-11-05 Andreas Krebbel
* gcc.dg/tree-ssa/gen-vect-26.c: Disable
of a CC compare into a GPR.
Done with the attached patch.
Bootstrapped and regression tested on s390x.
Committed to mainline.
2019-11-07 Andreas Krebbel
* config/s390/s390.md ("*cstorecc_z13"): New insn_and_split
pattern.
gcc/testsuite/ChangeLog:
2019-11-07 Andre
On 11.11.19 15:39, Richard Henderson wrote:
> On 11/7/19 12:52 PM, Andreas Krebbel wrote:
>> +; Such patterns get directly emitted by noce_emit_store_flag.
>> +(define_insn_and_split "*cstorecc_z13"
>> + [(set (match_operand:GPR 0 "r
On 2/1/20 9:41 PM, Jakub Jelinek wrote:
> Hi!
>
> The following testcase started to ICE when .POPCOUNT matching has been added
> to match.pd; we had __builtin_popcount*, but nothing would use the
> popcounthi2 expander before.
>
> The problem is that the popcounthi2_z196 expander doesn't emit val
The backend emits 16 bit memory loads for single element character
vector. As a result the character will not be right justified in the
GPR.
gcc/ChangeLog:
2019-12-16 Andreas Krebbel
PR target/92950
* config/s390/vector.md ("mov" for V_8): Replace lh, lhy,
x86_64 by changing the inlining
threshold using: --param max-inline-insns-auto=80
Bootstrapped and regression tested on x86_64 and IBM Z.
Ok for mainline?
libcpp/ChangeLog:
2019-12-17 Andreas Krebbel
PR tree-optimization/92176
* mkdeps.c (deps_add_default_target):
---
libcpp
On 2/29/24 13:13, Stefan Schulze Frielinghaus wrote:
> RTX X must not necessarily be a SYMBOL_REF and may e.g. be an
> UNSPEC_GOTENT for which SYMBOL_FLAG_NOTALIGN2_P fails.
>
> gcc/ChangeLog:
>
> * config/s390/s390.cc (s390_secondary_reload): Guard
> SYMBOL_FLAG_NOTALIGN2_P.
Ok. Than
On 2/29/24 13:14, Stefan Schulze Frielinghaus wrote:
> Starting with r14-2047-gd0e891406b16dc two SI mode tests are optimized
> into DI mode. Thus, the scan-assembler directives fail. For example
> RTL expression
>
> (ior:SI (subreg:SI (lshiftrt:DI (reg:DI 69)
> (const_int 2 [0x2]))
On 2/29/24 13:15, Stefan Schulze Frielinghaus wrote:
> Starting with r14-8319-g86de9b66480b71 fwprop improved so that vpdi is
> no longer required.
>
> gcc/testsuite/ChangeLog:
>
> * gcc.target/s390/vector/long-double-to-i64.c: Fix scan
> assembler directive.
Should we perhaps rather
On 3/1/24 10:29, Stefan Schulze Frielinghaus wrote:
> Similar as to s390_lcbb, s390_vll, s390_vstl, et al. make use of a
> signed vector type for vlbb. Furthermore, a const void pointer seems
> more common and an integer for the mask.
>
> For s390_vfi(s,d)b make use of integers for masks, too.
>
On 3/1/24 16:57, Stefan Schulze Frielinghaus wrote:
> According to IBM Open XL C/C++ for z/OS version 1.1 builtins
>
> - vec_permi
> - vec_ctd
> - vec_ctsl
> - vec_ctul
> - vec_ld2f
> - vec_st2f
>
> are deprecated. Also deprecate helper builtins vec_ctd_s64 and
> vec_ctd_u64.
>
> Furthermore, t
With this fix we make sure that only symbols with a natural alignment
smaller than 2 are considered misaligned with
-munaligned-symbols. Background is that -munaligned-symbols is only
supposed to affect symbols whose natural alignment wouldn't be enough
to fulfill our ABI requirement of having all
On 3/21/24 15:41, Stefan Schulze Frielinghaus wrote:
> gcc/testsuite/ChangeLog:
>
> * gcc.dg/tree-ssa/abs-4.c: On s390 we also have a copysign optab
> for long double. Thus, scan 3 instead of 2 times for it.
> ---
> Ok for mainline?
Ok. Thanks!
Andreas
On 3/22/24 10:49, Stefan Schulze Frielinghaus wrote:
> gcc/testsuite/ChangeLog:
>
> * gcc.dg/tree-ssa/backprop-6.c: On s390 we also have a copysign
> optab for long double. Thus, scan 3 instead of 2 times for it.
> ---
> OK for mainline?
Ok. Thanks!
Andreas
On 4/4/24 13:38, Ilya Leoshkevich wrote:
> Bootstrapped and regtested on s390x-redhat-linux. Ok for master?
>
>
> libsanitizer/ChangeLog:
>
> * sanitizer_common/sanitizer_linux_s390.cpp (AvoidCVE_2016_2143):
> Do not mention MSan and DFSan, which are not supported by GCC.
Ok, Thank
On 4/4/24 14:22, Jakub Jelinek wrote:
> On Thu, Apr 04, 2024 at 02:19:08PM +0200, Andreas Krebbel wrote:
>> On 4/4/24 13:38, Ilya Leoshkevich wrote:
>>> Bootstrapped and regtested on s390x-redhat-linux. Ok for master?
>>>
>>>
>>> libsaniti
On 4/8/24 13:43, Ilya Leoshkevich wrote:
> On Sat, 2024-04-06 at 18:58 +0200, Jakub Jelinek wrote:
>> Hi!
>>
>> The following testcase is miscompiled, because we have initially
>> a movti which loads the 0x3f803f80ULL TImode constant
>> from constant pool. Later on we split it into a pair
On 4/9/24 16:31, Juergen Christ wrote:
> Loop vectorizer can generate vector permutes with constant indexes
> where all indexes are equal. Optimize this case to use vector
> replicate instead of vector permute.
>
> gcc/ChangeLog:
>
> * config/s390/s390.cc (expand_perm_as_replicate): Implem
On 2/19/24 13:39, Ilya Leoshkevich wrote:
> DSE, DCE, and other passes are removing redundant signaling comparisons
> from these tests, but the whole point is to check that GCC knows how to
> emit them. Use -fno-delete-dead-exceptions to prevent that.
>
> gcc/testsuite/ChangeLog:
>
> * g
On 1/11/24 14:58, Richard Biener wrote:
> The following adds guards avoiding code generation to
> expand_perm_as_a_vlbr_vstbr_candidate when d.testing_p.
>
> Built and tested on the testcase in the PR.
>
> OK to push as obvious? Otherwise please pick up, test and push.
Ok to commit now. Thanks
With the recently introduced -munaligned-symbols option byte-sized
variables which are resolved externally are considered to be
potentially misaligned.
However, this should rather also be applied to symbols which resolve
locally if they are weak. Done with this patch.
Committed to mainline.
gcc/C
On 11/30/23 17:34, Jakub Jelinek wrote:
> On Wed, Nov 29, 2023 at 07:27:20PM +0100, Jakub Jelinek wrote:
>> Given that the s390 backend defines pretty much the same target hook
>> as rs6000, I believe it suffers (at least when using -mvx?) the same
>> problem as rs6000, though admittedly this is so
On 11/30/23 16:45, Juergen Christ wrote:
> Commit 466b100e5fee808d77598e0f294654deec281150 introduced a bug in
> s390_md_asm_adjust if vector extensions are not available. Fix the control
> flow of this function to not adjust long double values.
>
> gcc/ChangeLog:
>
> * config/s390/s390.cc
On 12/3/23 19:36, Jakub Jelinek wrote:
> Hi!
>
> I've noticed this test regressed on s390x-linux with the addition of the
> switch to modern C patchset. Haven't tried to reproduce the ICE, but as it
> was a backend ICE and FE after warning used to add such casts before (now
> errors), I think thi
On 12/4/23 11:14, Stefan Schulze Frielinghaus wrote:
> Add missing "s390" while expanding vec_step to __builtin_s390_vec_step.
>
> gcc/ChangeLog:
>
> * config/s390/vecintrin.h (vec_step): Expand vec_step to
> __builtin_s390_vec_step.
Ok, Thanks!
Andreas
On 11/9/23 09:22, Stefan Schulze Frielinghaus wrote:
> Deal with cases where vpdi and vmr{l,h} are still applicable if the
> operands of those instructions are swapped. For example, currently for
>
> V2DI foo (V2DI x)
> {
> return (V2DI) {x[1], x[0]};
> }
>
> the assembler sequence
>
> vlgvg
On 11/9/23 09:22, Stefan Schulze Frielinghaus wrote:
> Replace UNSPEC_VEC_ELTSWAP with a vec_select implementation.
>
> Furthermore, for a vector reverse elements operation between registers
> of mode V8HI perform three rotates instead of a vperm operation since
> the latter involves loading the p
On 11/9/23 09:22, Stefan Schulze Frielinghaus wrote:
> Replace expand_perm_with_rot, expand_perm_with_vster, and
> expand_perm_with_vstbrq with a general implementation
> expand_perm_reverse_elements.
>
> Bootstrapped and regtested on s390. Ok for mainline?
>
> gcc/ChangeLog:
>
> * config
On 11/9/23 09:24, Stefan Schulze Frielinghaus wrote:
> For patterns which make use of two modes, do not build the cross product
> and then exclude illegal combinations via conditions but rather do not
> create those in the first place. Here we are following the idea of the
> attribute TOINTVEC/toi
s390_resolve_overloaded_builtin, when called on NON_DEPENDENT_EXPR,
ICEs when using the type from it which ends up as error_mark_node.
This particular instance of the problem does not occur anymore since
NON_DEPENDENT_EXPR has been removed. Nevertheless that case needs to
be handled here.
Bootst
This adds GTY markers to s390_builtin_types, s390_builtin_fn_types,
and s390_builtin_decls. These were missing causing problems in
particular when using builtins after including a precompiled header.
Unfortunately the declaration of these data structures use enum values
from s390-builtins.h. This
On 11/14/23 12:44, Stefan Schulze Frielinghaus wrote:
> The offset for vec_scatter_element of floats should be a vector of type
> UV4SI instead of V4SF. Note, this is an incompatibility change.
>
> Bootstrapped on s390. Ok for mainline?
>
> gcc/ChangeLog:
>
> * config/s390/s390-builtin-t
On 11/15/23 14:29, Stefan Schulze Frielinghaus wrote:
> By default the preprocessed output includes linemarkers. This leads to
> an error if -pedantic is used as e.g. during bootstrap:
>
> s390-gen-builtins.h:1:3: error: style of line directive is a GCC extension
> [-Werror]
>
> Fixed by omitti
On 11/15/23 14:12, Juergen Christ wrote:
> When using GNU vector extensions, an access outside of the vector size
> caused an ICE on s390. Fix this by aligning with the vec_extract
> builtin, i.e., computing constant index modulo number of lanes.
>
> Fixes testcase gcc.target/s390/pr89233.c.
>
>
On 11/15/23 14:15, Juergen Christ wrote:
> Issue two loads when using GPRs instead of one load-multiple.
>
> Bootstrapped and tested on s390. OK for mainline?
>
> gcc/ChangeLog:
>
> * config/s390/s390.md: Split TImode loads.
>
> gcc/testsuite/ChangeLog:
>
> * gcc.target/s390/int12
On 11/15/23 14:15, Juergen Christ wrote:
> Implement flags output for inline assemblies. Only use one output constraint
> that captures the whole condition code. No breakout into different condition
> codes is allowed. Also, only one condition code variable is allowed.
>
> Add further logic to
Ok, thanks!
Andreas
On 11/27/23 10:11, Stefan Schulze Frielinghaus wrote:
> Ping.
>
> On Tue, Nov 14, 2023 at 04:19:59PM +0100, Stefan Schulze Frielinghaus wrote:
>> Remove flags for non-existing operands 2 and 3.
>>
>> Bootstrapped on s390. Ok for mainline?
>>
>> gcc/ChangeLog:
>>
>> * co
Ok, thanks!
Andreas
On 11/27/23 10:12, Stefan Schulze Frielinghaus wrote:
> Ping.
>
> On Wed, Oct 25, 2023 at 11:27:33AM +0200, Stefan Schulze Frielinghaus wrote:
>> Currently for an unsigned 16-bit comparison between memory and an
>> immediate where the high bit is set, a clc is emitted. This
Ok, thanks!
Andreas
On 11/27/23 10:12, Stefan Schulze Frielinghaus wrote:
> Ping.
>
> On Thu, Nov 16, 2023 at 01:07:30PM +0100, Stefan Schulze Frielinghaus wrote:
>> For the opaque NNP-data type prefer unsigned over signed integer types.
>>
>> gcc/ChangeLog:
>>
>> * config/s390/s390-builtin
On 11/27/23 10:53, Stefan Schulze Frielinghaus wrote:
> Commit 248df13b966f46649e16dc3c8c92b263790ef503 restricted the rotate
> count to immediates. Although the documentation of vec_rli (Vector
> Element Rotate Left Immediate) can be read as if it where restricted to
> immediates, this is not the
On 11/27/23 13:38, Stefan Schulze Frielinghaus wrote:
> One builtin type slipped through the cracks of the last commits.
>
> Bootstrapped on s390. Ok for mainline?
>
> gcc/ChangeLog:
>
> * config/s390/s390-builtin-types.def (BT_FN_UV8HI_UV8HI_UINT):
> Add missing builtin type.
Ok
On 6/26/24 14:15, Stefan Schulze Frielinghaus wrote:
An explicit check for address registers was not required so far since
during register allocation the processing of address constraints was
sufficient. However, address constraints themself do not check for
REGNO_OK_FOR_{BASE,INDEX}_P. Thus, w
On 7/11/24 16:29, Stefan Schulze Frielinghaus wrote:
During machine reorg we optimize backward jumps and transform insns as
e.g.
(jump_insn 118 117 119 (set (pc)
(if_then_else (ne (reg:CCRAW 33 %cc)
(const_int 8 [0x8]))
(label_ref 134)
(pc)))
On 7/2/24 15:43, Stefan Schulze Frielinghaus wrote:
Although for instructions MVI and MVIY it does not make a difference
whether the immediate is interpreted as signed or unsigned, GAS expects
unsigned immediates for instruction format SI_URD.
gcc/ChangeLog:
* config/s390/vector.md (mo
On 7/1/24 10:32, Stefan Schulze Frielinghaus wrote:
This drops vcond expanders. The first patch
"s390: Emulate vec_cmp{eq,gt,gtu} for 128-bit integers" is somewhat
independent of the other two, since we run already in ICEs. However,
since after removing vcond expanders testsuite shows one addi
On 7/2/24 15:48, Stefan Schulze Frielinghaus wrote:
Currently instructions vgm and vrepi are utilized only for constant
vectors where the element mode equals the element mode of the
corresponding instruction. This patch lifts this restriction by making
use of those instructions for constant vect
On 7/16/24 10:29, Stefan Schulze Frielinghaus wrote:
Code attribute bhfgq is missing a mapping for TF. This results in
unresolved iterators in assembler templates for *bswaptf.
With the TF mapping added the base mnemonics vlbr and vstbr are not
"used" anymore but only the extended mnemonics (
On 7/20/24 08:39, Stefan Schulze Frielinghaus wrote:
I'm pinging this early since I would like to make sure that it gets into
14.2 RC which is about to be done on Tuesday 23rd July.
On Tue, Jul 16, 2024 at 04:50:29PM +0200, Stefan Schulze Frielinghaus wrote:
Code attribute bhfgq is missing a
On 5/8/24 10:06, Stefan Schulze Frielinghaus wrote:
> Consider a NOCE conversion as profitable if there is at least one
> conditional move.
>
> gcc/ChangeLog:
>
> * config/s390/s390.cc (TARGET_NOCE_CONVERSION_PROFITABLE_P):
> Define.
> (s390_noce_conversion_profitable_p): Implem
On 8/8/24 20:28, Stefan Schulze Frielinghaus wrote:
Starting with r14-9449-g9f2b16ce1efef0 builtins were streamlined with
those in LLVM. In particular s390_vgfm{,a}g have been changed from
UV16QI to UINT128 in order to match those in LLVM. However, these
low-level builtins are directly used by
On 8/8/24 20:29, Stefan Schulze Frielinghaus wrote:
The following intrinsics are not implemented. Thus, remove them.
Ok for mainline?
gcc/ChangeLog:
* config/s390/vecintrin.h (vec_vstbrh): Remove.
(vec_vstbrf): Remove.
(vec_vstbrg): Remove.
(vec_vstbrq): Remove
The current implementation assumes to always be invoked with register
operands. For memory operands we even have an instruction
though (vlrep). With the patch we try this first and only if it fails
force the input into a register and continue.
vec_splats generation fails for single element 128bit
On 6/11/24 10:24, Stefan Schulze Frielinghaus wrote:
For the moment I deliberately left out one-element QHS vectors since it
is unclear whether these are pathological cases or whether they are
really used. If we ever get an extend for V1DI -> V1TI we should
reconsider this.
As a side-effect t
On 6/11/24 10:26, Stefan Schulze Frielinghaus wrote:
This implements a V2SF -> V2DF extend.
gcc/ChangeLog:
* config/s390/vector.md (*vmrhf): New.
(extendv2sfv2df2): New.
gcc/testsuite/ChangeLog:
* gcc.target/s390/vector/vec-extend-3.c: New test.
Since we already have
On 6/2/24 14:07, Stefan Schulze Frielinghaus wrote:
Since the patch works fine so far for mainline, ok to backport to GCC 14?
Yes please do. Thanks!
Andreas
On Fri, May 17, 2024 at 08:59:05AM +0200, Stefan Schulze Frielinghaus wrote:
I've adapted the patch as follows and will push.
Than
On Wed, Jun 05, 2024 at 08:00:15AM +0200, Stefan Schulze Frielinghaus wrote:
With the change of r15-787-g57e04879389f9c I forgot to also update this
test.
gcc/testsuite/ChangeLog:
* gcc.target/s390/ifcvt-one-insn-bool.c: Fix loc.
Ok. Thanks!
Andreas
---
Ok for mainline? Ok for
On 6/13/24 09:43, Kewen.Lin wrote:
Hi,
Gentle ping:
https://gcc.gnu.org/pipermail/gcc-patches/2024-June/653382.html
BR,
Kewen
on 2024/6/3 11:01, Kewen Lin wrote:
This is to remove macros {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE
defines in s390 port, and add new port specific hook
implementation s390
On Mon, Jun 03, 2024 at 03:43:39PM +0200, Stefan Schulze Frielinghaus wrote:
Starting with r14-5628-g53ba8d669550d3 interprocedural VRP became strong
enough in order to render these tests useless. Fixed by disabling IPA.
gcc/testsuite/ChangeLog:
* gcc.target/s390/nobp-table-jump-inline
On 6/14/24 20:03, Jakub Jelinek wrote:
Also wonder about the
// { dg-additional-options "-march=z14" { target s390*-*-* } }
line, doesn't that mean the test will FAIL on all pre-z14 HW?
Shouldn't it use some z14_runtime or similar effective target, or
check in main (in that case copied over to g+
On 4/12/24 10:16, Stefan Schulze Frielinghaus wrote:
> As mentioned in PR114678 those failures will be fixed by
> https://gcc.gnu.org/pipermail/gcc-patches/2024-March/648303.html
> For GCC 14 just xfail them which should be reverted once the patch is
> applied.
>
> gcc/testsuite/ChangeLog:
>
>
On 4/17/24 03:52, Jiufu Guo wrote:
>
> Hi,
>
> I would like to ping this patch.
>
>
> Jeff (Jiufu Guo)
>
> Jiufu Guo writes:
>
>> Hi,
>>
>> Same like PR101168, this patch is need for s390 to
>> avoid peeking eof after vector keyword.
>> And similar test case is also ok for s390.
>>
>> Is thi
On 4/22/24 08:01, Stefan Schulze Frielinghaus wrote:
> Starting with r14-9316-g7890836de20912 patterns for vpopct{b,h} are also
> detected. Thus, remove xfails.
>
> gcc/testsuite/ChangeLog:
>
> * gcc.target/s390/vxe/popcount-1.c: Remove xfail.
Ok. Thanks!
Andreas
> ---
> Ok for mainlin
Hi Stefan,
due to that missed optimization we currently generate silly code for these two
tests and should
really fix this (after gcc entering stage1). So just skipping it on s390x would
definitely be the
wrong choice I think.
I think our vectorize_vec_perm_const correctly rejects this permute
We currently enable the vector extensions also for -march=z13 -m31
mesa which is very wrong.
Not a regression but an obvious fix, so I've committed it to mainline
now. Will have to cherry-pick it for stable branches as well.
gcc/ChangeLog:
* config/s390/s390.cc (s390_option_override_inte
The requirements of the vec_xl/vec_xst intrinsincs wrt aliasing of the
pointer argument are not really documented. As it turns out, users
are likely to get it wrong. With this patch we let the pointer
argument alias everything in order to make it more robust for users.
Committed to mainline. Wil
On 4/30/24 10:32, Stefan Schulze Frielinghaus wrote:
> Starting with r12-2731-g96146e61cd7aee we do not generate code like
>
> _5 = (unsigned int) c_2(D);
> i_6 = _5 << 8;
> _7 = _5 << 20;
> i_8 = i_6 | _7;
>
> anymore but instead
>
> _5 = (unsigned int) c_2(D);
> _3 = _5 * 1048832;
>
> which l
On 4/30/24 10:34, Stefan Schulze Frielinghaus wrote:
> Starting with r14-2047-gd0e891406b16dc we see through subregs which
> means for f10 in risbg-ll-2.c we do not end up with rosbg_si_noshift but
> rather rosbg_di_noshift which materializes in slightly different start
> index. This saves us an e
Ok, Thanks!
Andreas
On 8/16/24 09:41, Stefan Schulze Frielinghaus wrote:
Currently subregs originating from *tf_to_fprx2_0 and *tf_to_fprx2_1
survive register allocation. This in turn leads to wrong register
renaming. Keeping the current approach would mean we need two insns for
*tf_to_fprx2_
On 9/12/24 08:14, Stefan Schulze Frielinghaus wrote:
..
Right, so offsettable_memref_p only ensures that any resulting
address is a
valid general address. So we have to manually check for short
displacement.
Maybe something along the lines:
diff --git a/gcc/config/s390/s390.cc b/gcc/config/s
On 8/16/24 09:14, Stefan Schulze Frielinghaus wrote:
In s390_expand_insv(), if generating code for ICM et al. src is a MEM
and gen_lowpart might force src into a register such that we end up with
patterns which do not match anymore. Use adjust_address() instead in
order to preserve a MEM.
Furth
[RFC] Allow functions calling mcount before prologue to be leaf functions
http://gcc.gnu.org/ml/gcc-patches/2013-04/msg00993.html
[PATCH] PR57377: Fix mnemonic attribute
http://gcc.gnu.org/ml/gcc-patches/2013-05/msg01364.html
[PATCH] Doc: Add documentation for the mnemonic attribute
http://gcc.gn
On Wed, Aug 21, 2013 at 11:21:32PM +0400, Alexander Ivchenko wrote:
> I'm sorry for that. The following patch cured my build of those
> targets; it is also preserving the initial presence of c99. There were
> plenty of targets that were changed by my patch, I hope this time I
> didn't miss anything
[RFC] Allow functions calling mcount before prologue to be leaf functions
http://gcc.gnu.org/ml/gcc-patches/2013-04/msg00993.html
[PATCH] PR57377: Fix mnemonic attribute
http://gcc.gnu.org/ml/gcc-patches/2013-05/msg01364.html
[PATCH] Doc: Add documentation for the mnemonic attribute
http://gcc.gn
and later.
The bcr variants used for synchronization purposes always go into
their own dispatch group. This wasn't correctly implemented for z196
and zEC12 so far.
I'll commit the patch after regression tests passed.
Bye,
-Andreas-
2013-09-03 Andreas Krebbel
* config/s3
ard math.h functions.
The DFP variants are not yet expanded for the standard math function
since the necessary GCC builtins are missing so far.
I'll commit the patch after waiting for comments and regression test.
Bye,
-Andreas-
2013-09-03 Andreas Krebbel
* config/s390/s390.md (UNS
[RFC] Allow functions calling mcount before prologue to be leaf functions
http://gcc.gnu.org/ml/gcc-patches/2013-04/msg00993.html
[PATCH] PR57377: Fix mnemonic attribute
http://gcc.gnu.org/ml/gcc-patches/2013-05/msg01364.html
[PATCH] Doc: Add documentation for the mnemonic attribute
http://gcc.gn
e 4.8 version and will commit it soon.
Bye,
-Andreas-
2013-10-01 Jakub Jelinek
Andreas Krebbel
PR target/58574
* config/s390/s390.c (s390_split_branches): Modify check for table
jump insns.
(s390_chunkify_start): Rearrange table jump insn check in ord
On 02/10/13 09:10, Paulo Matos wrote:
>
>> -Original Message-
>> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-ow...@gcc.gnu.org] On
>> Behalf Of Andreas Krebbel
>> Sent: 01 October 2013 10:18
>> To: gcc-patches@gcc.gnu.org
>> Subject
s390x with --with-arch=zEC12.
I'll apply the patch to mainline and 4.8 branch after waiting for
comments.
Bye,
-Andreas-
2013-10-02 Andreas Krebbel
* config/s390/s390.md ("tbegin", "tbegin_nofloat", "tbegin_retry")
("tbegin_retry_nofloat&
1 - 100 of 1086 matches
Mail list logo