gcc/ChangeLog:
2018-08-27 Ilya Leoshkevich
PR target/80080
* config/s390/s390-passes.def: New file.
* config/s390/s390-protos.h (class rtl_opt_pass): Add forward
declaration.
(make_pass_s390_early_mach): Add declaration.
* config/s390/s390.c (mak
On 05.09.2018 22:22, Ilya Leoshkevich wrote:
> Inhibit constant propagation inlining SYMBOL_REF loads into
> UNSPECV_CAS. Even though reload can later undo it, the resulting
> code will be less efficient.
>
> gcc/ChangeLog:
>
> 2018-09-05 Ilya Leoshkevich
>
> PR target/80080
> *
Hi Ilya,
the S/390 parts look good to me. For the rest we will need approval from a
middle-end maintainer.
Andreas
On 05.09.2018 10:34, Ilya Leoshkevich wrote:
> S/390 epilogue ends with (parallel [(return) (use %r14)]) instead of
> the more usual (return) or (simple_return). This sequence is
According to IEEE 754 2008 4.3 'Rounding-direction attributes' the
rounding mode of the target format needs to be used. By not setting
the value so far we have always used the DFP rounding mode.
gcc/ChangeLog:
2018-09-06 Andreas Krebbel
* config/s390/s390.md (PFPO_RN
On 06.09.2018 10:41, Robin Dapp wrote:
>
> Hi,
>
> this patch increases the latency of some floating point instructions to better
> match the real machine's behavior.
>
> Regards
> Robin
>
> --
>
> gcc/ChangeLog:
>
> 2018-09-06 Robin Dapp
>
> * config/s390/2827.md: Increase latenci
On 06.09.2018 10:41, Robin Dapp wrote:
>
> Similar to zEC12, the change in latencies helps match the real machine's
> behavior better.
>
> --
>
> gcc/ChangeLog:
>
> 2018-09-06 Robin Dapp
>
> * config/s390/2964.md: Increase latencies for some FP instructions.
Ok, thanks!
Andreas
On 20.08.2018 16:30, Jeff Law wrote:
> On 08/18/2018 03:20 AM, Eric Botcazou wrote:
>>> Eric, didn't your patches explicitely handle this case of a non-constant
>>> inbetween?
>>
>> Only if there is no overlap at all, otherwise you cannot do things simply.
>>
>>> Can you have a look / review here?
On 10.09.2018 19:53, Jakub Jelinek wrote:
> On Mon, Sep 10, 2018 at 04:05:26PM +0200, Andreas Krebbel wrote:
>> On 20.08.2018 16:30, Jeff Law wrote:
>>> On 08/18/2018 03:20 AM, Eric Botcazou wrote:
>>>>> Eric, didn't your patches explicitely handle this
gcc/ChangeLog:
2018-09-27 Andreas Krebbel
* config/s390/s390.md (PPA_TX_ABORT, PPA_OOO_BARRIER): New
constant definitions.
("tx_assist"): Replace magic number with PPA_TX_ABORT.
("*ppa"): Enable pattern also for -
easier to read.
gcc/ChangeLog:
2018-10-02 Andreas Krebbel
* common/config/s390/s390-common.c: Rename PF_ARCH12 to PF_Z14.
* config/s390/s390.h (enum processor_flags): Rename PF_ARCH12 to
PF_Z14. Rename TARGET_CPU_ARCH12 to TARGET_CPU_Z14,
TARGET_CPU_ARCH12_P to
This adds the CPU model number of the IBM z14 Model ZR1 machine to
-march=native. The patch doesn't actually change anything since we
anyway default to z14 for unknown CPU model numbers. So this is just
for the sake of completeness.
2018-10-02 Andreas Krebbel
* config/s390/d
, 2, nelt);
if (can_vec_perm_const_p (mode, indices))
return true;
}
}
The patch adds a check to prevent this.
Ok?
-Andreas-
gcc/ChangeLog:
2018-04-16 Andreas Krebbel
* tree-vect-data-refs.c (vect_grouped_store_supported): Exit for
singl
On 04/18/2018 10:25 AM, Richard Biener wrote:
> On Mon, Apr 16, 2018 at 6:16 PM, Andreas Krebbel
> wrote:
>> I did run into an ICE with a single element vector triggered by
>> dividing the number of elements by 2 with exact_div here:
>>
>> tree-vect-dat
Bootstrapped and regression tested on x86_64, ppc64, and s390x.
Pre-approved by Richard in the PR.
-Andreas-
gcc/ChangeLog:
2018-04-24 Andreas Krebbel
PR tree-optimization/85478
* tree-vect-loop.c (vect_analyze_loop_2): Do not call
vect_grouped_store_supported for
regressions.
Bye,
-Andreas-
2014-08-25 Andreas Krebbel
PR target/61078
* config/s390/s390.md ("*negdi2_31"): Add s390_split_ok_p check
and add a second splitter to handle the remaining cases.
2014-08-25 Andreas Krebbel
PR target/61078
*
On 18/11/13 17:09, Peter Bergner wrote:
> On Mon, 2013-11-18 at 10:05 +0100, Andreas Krebbel wrote:
>> With the patch the htm-nofloat-2 testcase fails. Due to the
>> "returns_twice" flag on tbegin the optimizers fail to fold the
>> compare
On 10/25/2014 12:10 PM, Richard Sandiford wrote:
> This is part of a series to remove uses of for_each_rtx from the ports.
> I think we only want to consider MEMs in patterns here, not MEMs in notes etc.
> (Not sure why I "fixed" it for s390 but not for x86...)
>
> Tested by making sure there were
On 05/12/2015 01:45 PM, Tom de Vries wrote:
> On 12-05-15 12:04, Tom de Vries wrote:
>> Committed with comments below added.
>
> Hmm, this causes an ice for s390 in gcc.dg/tree-ssa/stdarg-2.c:
> ...
> gimplification failed:
> &ap type type 0x7f132f46b888 __va_list_tag>
>
Hi Richard,
I see regressions with the current IBM z13 vector patchset which appear to be
related to the new
genrecog.
The following two insn definitions only differ in the mode and predicate of the
shift count operand.
(define_insn "lshr3"
[(set (match_operand:VI 0 "register_op
The new version also changes the type for the alternative_mask to unsigned
HOST_WIDE_INT.
Bootstrapped without regressions on x86-64.
Ok to apply?
Bye,
-Andreas-
gcc/
* recog.h: Increase MAX_RECOG_ALTERNATIVES.
---
gcc/recog.h |4 ++--
1 file changed, 2 insertions(+), 2 deletions
On 05/18/2015 04:19 PM, Richard Biener wrote:
> On Mon, May 18, 2015 at 3:41 PM, Andreas Krebbel
> wrote:
>> The new version also changes the type for the alternative_mask to unsigned
>> HOST_WIDE_INT.
>>
>> Bootstrapped without regressions on x86-64.
>>
>
On 05/18/2015 07:35 PM, Richard Henderson wrote:
> On 05/11/2015 06:23 AM, Andreas Krebbel wrote:
>> @@ -6784,14 +6784,18 @@ expand_vec_perm (machine_mode mode, rtx v0, rtx v1,
>> rtx sel, rtx target)
>> {
>>/* Multiply each element by its byte size.
On 05/11/2015 03:23 PM, Andreas Krebbel wrote:
> With this patch .gnu_attribute is used to mark binaries with a vector
> ABI tag. This is required since the z13 vector support breaks the ABI
> of existing vector_size attribute generated vector types:
>
> 1. vector_size(16) and big
On Tue, May 19, 2015 at 07:48:29AM -0700, Richard Henderson wrote:
> > Ok to apply with that change?
>
> Yes, thanks.
I've applied the following.
Bye,
-Andreas-
gcc/
* optabs.c (expand_vec_perm): Don't re-use SEL as target operand.
---
gcc/optabs.c |4 ++--
1 file changed, 2 inser
On Tue, May 19, 2015 at 10:40:26AM +0200, Andreas Krebbel wrote:
> On 05/18/2015 04:19 PM, Richard Biener wrote:
> > Please use uint64_t instead.
>
> Done. Ok with that change?
I've applied the following patch.
Bye,
-Andreas-
gcc/
* recog.h: Increase MA
On 05/17/2015 11:12 PM, Richard Sandiford wrote:
> Andreas Krebbel writes:
>> Hi Richard,
>>
>> I see regressions with the current IBM z13 vector patchset which appear to
>> be related to the new
>> genrecog.
>>
>> The following two insn definit
On 05/29/2015 04:14 PM, Dominik Vogt wrote:
> No bother, new versions attached.
Applied to mainline. Thanks!
-Andreas-
On 06/01/2015 10:39 AM, Jakub Jelinek wrote:
> Hi!
>
> always_inline attribute is meaningful only for functions declared
> inline, and the compiler even warns about this, so it is unclear
> to me why the tests are attempting to use that.
>
> 2015-06-01 Jakub Jelinek
>
> * gcc.target/s39
On 06/01/2015 10:22 AM, Jakub Jelinek wrote:
> On Fri, May 22, 2015 at 09:54:00AM +0200, Andreas Krebbel wrote:
>> On Tue, May 19, 2015 at 10:40:26AM +0200, Andreas Krebbel wrote:
>>> On 05/18/2015 04:19 PM, Richard Biener wrote:
>>>> Please use uint64_t instead.
>
On 06/05/2015 01:04 AM, Jan-Benedict Glaw wrote:
> Hi Andreas,
>
> On Mon, 2015-05-11 15:23:33 +0200, Andreas Krebbel
> wrote:
>> gcc/
>> * config/s390/constraints.md (j00, jm1, jxx, jyy, v): New
>> constraints.
>> * config/s390/predicates
On 05/05/2015 08:52 PM, Jakub Jelinek wrote:
> Hi!
>
> http://gcc.gnu.org/ml/gcc-patches/2015-04/msg01432.html
> - this got approved for arm and aarch64, but not for s390{,x}
> Ok for trunk?
Yes. Thanks!
-Andreas-
We need a scratch register for loading from or storing to a symbolic
memory reference where we cannot use the load/store relative
instructions for. However, the check currently fails to handle
floating point modes in GPRs correctly.
gcc/
* config/s390/s390.c (s390_secondary_reload): Fix c
With the vector facility support z13 mov patterns have more than 30
alternatives.
gcc/
* recog.h: Increase MAX_RECOG_ALTERNATIVES.
---
gcc/recog.h |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/recog.h b/gcc/recog.h
index 8a38b26..4d8ca0c 100644
--- a/gcc/recog
instructions
- scalar vector instructions (allowing to have more floating point
registers for scalar operations)
- vector string instructions
I would like to commit this patchset also to GCC 5 branch in order to
enable distros to pick it up more easily.
Andreas Krebbel (13):
recog: Increased max
gcc/
* common/config/s390/s390-common.c (processor_flags_table): Add
z13.
* config.gcc: Add z13.
* config/s390/s390-opts.h (enum processor_type): Add
PROCESSOR_2964_Z13.
* config/s390/s390.c (s390_adjust_priority): Check for
PROCESSOR_2964_Z13
With this patch GCC makes use of the vector instruction which are
available in single element mode. By using these instructions scalar
double operations can use 32 registers.
gcc/
* config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and
CCVFHE.
* config/s390/s390.c (s
The current implementation re-uses the location of the selection
pattern to generate a new one. This fails if the pattern resides in a
read-only location. With the patch a new temporary register is
allocated for that purpose.
gcc/
* optabs.c (expand_vec_perm): Allocate a temp reg for the
With this patch .gnu_attribute is used to mark binaries with a vector
ABI tag. This is required since the z13 vector support breaks the ABI
of existing vector_size attribute generated vector types:
1. vector_size(16) and bigger vectors are aligned to 8 byte
boundaries (formerly vectors were alway
gcc/testsuite/
* gcc.dg/tree-ssa/gen-vect-11b.c: Disable vector
instructions on s390*.
* gcc.dg/tree-ssa/gen-vect-11c.c: Likewise.
---
gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11b.c |1 +
gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11c.c |1 +
2 files changed, 2 insertio
gcc/testsuite/
* lib/target-supports.exp: Vector do not always have natural
alignment on s390*.
---
gcc/testsuite/lib/target-supports.exp |3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gcc/testsuite/lib/target-supports.exp
b/gcc/testsuite/lib/target-sup
This is a first try to implement at least some of the requirements
regarding the vector bool type documented for IBM XLC.
With this patch error messages will be issued for invalid uses of
vector bool types in binary operators.
vector bool types are being marked opaque in order to prevent the
fron
gcc/testsuite/
* gcc.target/s390/zvector/vec-dbl-math-compile-1.c: New test.
* gcc.target/s390/zvector/vec-genbytemask-1.c: New test.
* gcc.target/s390/zvector/vec-genmask-1.c: New test.
* gcc.target/s390/zvector/vec-lcbb-1.c: New test.
* gcc.target/s390/zvec
gcc/testsuite/
* gcc.target/s390/s390.exp
(check_effective_target_vector): New check.
* gcc.target/s390/vector/vec-abi-1.c: New test.
* gcc.target/s390/vector/vec-abi-2.c: New test.
* gcc.target/s390/vector/vec-abi-3.c: New test.
* gcc.target/s390/vec
gcc/
* config/s390/constraints.md (j00, jm1, jxx, jyy, v): New
constraints.
* config/s390/predicates.md (const0_operand, constm1_operand)
(constable_operand): Accept vector operands.
* config/s390/s390-modes.def: Add supported vector modes.
* config/s
With this patch GCC implements an Altivec style set of builtins to
make use of vector instructions in C/C++ code. This is provided for
compatibility with the IBM XL compiler.
gcc/
* config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to
c_target_objs and cxx_target_objs.
On 05/11/2015 04:01 PM, Segher Boessenkool wrote:
> On Mon, May 11, 2015 at 03:23:29PM +0200, Andreas Krebbel wrote:
>> With the vector facility support z13 mov patterns have more than 30
>> alternatives.
>
> Wow, that is a lot!
>
>> --- a/gcc/recog.h
>>
Hi,
the attached patch defines the TARGET_BUILTIN_DECL macro for S/390 in
order to make our target specific builtins to work with lto.
I'll commit this to mainline after waiting few days for comments.
Bye,
-Andreas-
2015-02-24 Andreas Krebbel
* config/s390/s390.c:
Hi,
this patch defines two new S/390 target specific macros:
__builtin_s390_efpc
__builtin_s390_sfpc
for extracting and setting the floating point control register.
I'll commit this to mainline after waiting a few days for comments.
Bye,
-Andreas-
2015-02-24 Andreas Kr
Hi,
the attached patch implements the TARGET_ATOMIC_ASSIGN_EXPAND_FENV for
S/390 fixing the c11-atomic-exec-5.c testsuite fails.
I'll commit this to mainline after waiting a few days for comments.
Bye,
-Andreas-
2015-02-24 Andreas Krebbel
* config/s390/s
Hi,
the attached patch gets rid of -m64/-m31 uses in our target specific
testcases in order to make
"make check RUNTESTFLAGS='--target_board=unix\{-m31,-m64\}'"
runs work fine again.
Committed to mainline.
Bye,
-Andreas-
2015-02-27 Andreas Krebbel
* gcc.targ
Committed to mainline.
2015-03-04 Andreas Krebbel
* gcc/config/s390/s390.c (s390_expand_builtin): Exlude non-htm
builtins from checking for -mhtm option.
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index 1924f2a..593c0cc 100644
--- a/gcc/config/s390/s390.c
Andreas Krebbel
* gcc.dg/var-expand1.c: Force max-completely-peel-times and
max-unroll-times back to defaults for s390.
diff --git a/gcc/testsuite/gcc.dg/var-expand1.c
b/gcc/testsuite/gcc.dg/var-expand1.c
index 7de4cfb..fb039d3 100644
--- a/gcc/testsuite/gcc.dg/var-expand1.c
Hi,
the initializer value in that testcase ends up in literal pool. As
described in the testcase the optimization does currently not work in
that situation.
Committed to mainline.
Bye,
-Andreas-
2015-03-05 Andreas Krebbel
* gcc.dg/tree-ssa/ssa-dom-cse-2.c:
diff --git a/gcc
loop is always left with all df solutions being clean. However, dce is
only run once, before the first iteration.
The attached patch fixes the builtin-bswap-7.c testcase for s390x
(-march=z196) but is probably helpful in other situations as well.
Ok?
Bye,
-Andreas-
2015-03-10 Andreas Krebbel
On 03/10/2015 10:12 AM, Steven Bosscher wrote:
> On Tue, Mar 10, 2015 at 8:57 AM, Andreas Krebbel wrote:
>>
>> * gcc/ifcvt.c (if_convert):
>>
>
> ...yes...?
Damn. mklog is still not able to do the complete job for me ;)
> Tiny nail, huge hammer. This trigge
On 03/10/2015 11:27 AM, Richard Biener wrote:
> Is this fixing a regression in some way?
Not really. The optimization supposed to fold the bswap in that case is not
that old:
https://gcc.gnu.org/ml/gcc-patches/2013-05/msg01378.html
The underlying problem however is probably visible in one wa
On 03/10/2015 11:27 AM, Richard Biener wrote:
> On Tue, Mar 10, 2015 at 10:19 AM, Andreas Krebbel
> wrote:
>> On 03/10/2015 10:12 AM, Steven Bosscher wrote:
>>> On Tue, Mar 10, 2015 at 8:57 AM, Andreas Krebbel wrote:
>>>>
>>>> * gcc/ifcvt.c (if
On 03/18/2015 12:04 PM, Richard Biener wrote:
> On Tue, Mar 17, 2015 at 7:29 PM, Jeff Law wrote:
>> On 03/17/2015 02:17 AM, Andreas Krebbel wrote:
>>>
>>>
>>> Just to have some numbers I did run a -j1 GCC bootstrap twice with and
>>> without the p
On 03/26/2015 09:56 PM, Jakub Jelinek wrote:
> Hi!
>
> On Mon, Mar 09, 2015 at 01:19:38PM +0100, Dominik Vogt wrote:
>> @@ -11368,6 +11349,7 @@ static void
>> s390_reorg (void)
>> {
>>bool pool_overflow = false;
>> + int hw_before, hw_after;
>>
>>/* Make sure all splits have been perf
Hi,
any ideas how this could be improved:
https://gcc.gnu.org/ml/gcc-patches/2015-05/msg00924.html
Bye,
-Andreas-
Hi,
this fixes a reload problem with match_dup's on commutative operands.
Bootstrapped and regtested on x86-64, ppc64, and s390x.
Ok?
Bye,
-Andreas-
2015-06-11 Andreas Krebbel
PR rtl-optimization/66306
* reload.c (find_reloads): Swap the match_dup inf
n the assembler_name is zeroed
out.
Bootstrapped and regtested on x86_64 and s390x.
Ok?
Bye,
-Andreas-
2015-06-11 Andreas Krebbel
PR C++/33661
* gcc/cp/decl.c (cp_finish_decl): Set assembler name for register
asm constructs.
* gcc/cp/pt.c (tsubst_decl): Do not zero ou
Yes that's better. I've adjusted the testcase as you proposed and
have tested it on x86_64, ppc, and s390x with -m32(-m31) and -m64.
Bye,
-Andreas-
gcc/cp/
2015-06-12 Andreas Krebbel
PR c++/33661
* decl.c (cp_finish_decl): Set assembler name for register
On 06/12/2015 11:24 AM, Jakub Jelinek wrote:
> Looks mostly good, just wonder about the powerpc scan-assembler.
> Shouldn't that be "reg: (%r)?8" instead? I think powerpc has -mregnames
> option, dunno if some target doesn't even use it by default.
Good catch. I'll change that.
-Andreas-
On 06/16/2015 07:40 PM, Ulrich Weigand wrote:
> However, I'm not clear why this should be a 4.8 only patch ... the
> same problem seems to be still there on mainline, right?
Yes. But 4.8 appears to be the last where reload was really stable on these
targets. When disabling
LRA on mainline x86_64
gcc/ChangeLog:
* config/s390/s390.c (s390_support_vector_misalignment): Call
default implementation for !TARGET_VX.
---
gcc/config/s390/s390.c |6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index 859ed68.
gcc/ChangeLog:
* config/s390/s390.c (s390_legitimate_constant_p): Add
TARGET_VX check.
---
gcc/config/s390/s390.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index 934f7c0..859ed68 100644
--- a/gcc/config
This fixes the mode attribute used in the vec scatter insn
definitions. vec_scatter_element_ and
vec_scatter_element_SI were using gf mode attribute
which does not support vector modes.
gcc/ChangeLog:
* config/s390/vx-builtins.md
("vec_scatter_element_")
("vec_scatter_ele
This patch removes a couple for builtin definitions from the
vecintrin.h file which are supposed to be used only internally.
gcc/ChangeLog:
* config/s390/vecintrin.h: Remove internal builtins.
---
gcc/config/s390/vecintrin.h | 35 ---
1 file changed, 35
I didn't commit until now.
They have been tested on head with --with-arch=z13 without
regressions.
Committed to mainline.
Bye,
-Andreas-
Andreas Krebbel (8):
S/390 Vector ABI GNU Attribute.
S/390: Limit legitimate_constant_p changes to TARGET_VX.
S/390: Disable effe
The current check does not work as expected with mixed register
classes and also does not handle NO_REGS correctly.
gcc/ChangeLog:
* config/s390/s390.c (s390_secondary_reload): Fix check for
GENERAL_REGS register class.
---
gcc/config/s390/s390.c |2 +-
1 file changed, 1 inse
With this patch .gnu_attribute is used to mark binaries with a vector
ABI tag. This is required since the z13 vector support breaks the ABI
of existing vector_size attribute generated vector types:
1. vector_size(16) and bigger vectors are aligned to 8 byte
boundaries (formerly vectors were alway
This is a comment only change which is supposed to be used by the
autogenerated tests I run for the builtins.
gcc/ChangeLog:
* config/s390/s390-builtins.def: Fix vpopct instruction comments.
---
gcc/config/s390/s390-builtins.def | 26 +-
1 file changed, 13 inser
On 06/16/2015 07:40 PM, Ulrich Weigand wrote:
> Andreas Krebbel wrote:
>
>> this fixes a reload problem with match_dup's on commutative operands.
>>
>> Bootstrapped and regtested on x86-64, ppc64, and s390x.
>>
>> Ok?
>>
>> Bye,
>>
>
On 06/24/2015 12:14 PM, Richard Biener wrote:
> On Wed, Jun 24, 2015 at 8:57 AM, Andreas Krebbel
>> Ideas about how to improve the implementation without creating too
>> many false postives are welcome.
>
> I'd be more conservative and instead hook into
> targetm.vect
On 06/12/2015 10:52 AM, Andreas Krebbel wrote:
> Yes that's better. I've adjusted the testcase as you proposed and
> have tested it on x86_64, ppc, and s390x with -m32(-m31) and -m64.
>
> Bye,
>
> -Andreas-
>
> gcc/cp/
>
> 2015-06-12 Andreas Krebbel
On Mon, Jun 08, 2015 at 03:38:03PM +0200, Jakub Jelinek wrote:
> On Mon, Jun 08, 2015 at 03:32:50PM +0200, Andreas Krebbel wrote:
> > On 06/01/2015 10:22 AM, Jakub Jelinek wrote:
> > > On Fri, May 22, 2015 at 09:54:00AM +0200, Andreas Krebbel wrote:
> > >> On Tue, Ma
triggered and currently breaks bootstrap on
S/390. With the attached patch s390_init_frame_layout just becomes a
NOP when invoked after reload is completed.
Committed to mainline.
Bye,
-Andreas-
gcc/ChangeLog:
2015-07-08 Andreas Krebbel
* config/s390/s390.c
Hi,
I've committed the following bugfix which fixes an obvious typo in the
atomic code attribute. Due to this the load and or instructions was
not used.
Committed to 4.9 branch and mainline.
Bye,
-Andreas-
2015-01-22 Andreas Krebbel
* config/s390/s390.md (atomic code attr
Hi,
I've committed the attached patch which fixes a 4.8 vs 4.9/5.0
performance regression introduced with the aggressive use of FPRs as
spill slots.
Committed to mainline and 4.9 branch.
Bye,
-Andreas-
2015-01-27 Andreas Krebbel
* config/s390/s390.c (s390_register_move
Hi,
I've committed the attached patch which fixes a 4.8 vs 4.9/5.0
performance regression introduced with the aggressive use of FPRs as
spill slots.
Committed to mainline and 4.9 branch.
Bye,
-Andreas-
2015-01-27 Andreas Krebbel
* config/s390/s390.c (s390_memory_move
Hi,
the attached patch fixes a critical problem in the va_start expansion
code in the S/390 backend. The problem exists since GCC 4.0.
Ok to commit to 4.9 branch and mainline?
Bye,
-Andreas-
2015-02-09 Andreas Krebbel
PR target/64979
* config/s390/s390.c (s390_va_start
On 02/09/2015 12:29 PM, Jakub Jelinek wrote:
> On Mon, Feb 09, 2015 at 10:50:34AM +0100, Andreas Krebbel wrote:
>> Hi,
>>
>> the attached patch fixes a critical problem in the va_start expansion
>> code in the S/390 backend. The problem exists since GCC 4.0.
>>
On 02/09/2015 01:05 PM, Jakub Jelinek wrote:
> On Mon, Feb 09, 2015 at 12:40:05PM +0100, Andreas Krebbel wrote:
>> On 02/09/2015 12:29 PM, Jakub Jelinek wrote:
>>> On Mon, Feb 09, 2015 at 10:50:34AM +0100, Andreas Krebbel wrote:
>>>> Hi,
>>>>
>>>&
On 02/09/2015 01:17 PM, Jakub Jelinek wrote:
> On Mon, Feb 09, 2015 at 01:05:23PM +0100, Jakub Jelinek wrote:
>> As you can see, the updated testcase fails even on x86_64-linux.
>
> Here is an updated patch that succeeds even on i686-linux.
Your patch fixes my testcase on s390x. Thanks!
-Andreas
Hi,
the attached patch fixes some minor issues with the recently applied
hotpatch testcases.
Bye,
-Andreas-
2015-02-19 Andreas Krebbel
* gcc.target/s390/hotpatch-8.c: Add -march=g5.
* gcc.target/s390/hotpatch-9.c: Add -march=g5.
* gcc.target/s390/hotpatch-compile-1
Hi,
the attached patch does some cleanup in the S/390 specific testcases.
- The scan-assembler testcases do not need --save-temps.
- One of them needs it so with the patch we make sure to cleanup the
files.
Bye,
-Andreas-
2015-02-19 Andreas Krebbel
* hotpatch-1.c: Remove --save
Hi,
the attached patch add the -Wno-implicit-function-declaration option
to the S/390 specific testcases which require it.
Bye,
-Andreas-
2015-02-19 Andreas Krebbel
* gcc.target/s390/20090223-1.c: Add
-Wno-implicit-function-declaration option.
* gcc.target/s390
Hi,
the attached patch makes the hoist-register-pressure testcases to work
with -m31 on 64 bit.
Ok to apply?
Bye,
-Andreas-
2015-02-19 Andreas Krebbel
* gcc.dg/hoist-register-pressure-1.c: Make S/390 target check work
with -m31 on 64 bit.
* gcc.dg/hoist-register
On 29.11.18 13:47, Ilya Leoshkevich wrote:
> Bootstrapped and regtested on s390x-redhat-linux and
> x86_64-redhat-linux.
>
> gcc/ChangeLog:
>
> 2018-09-12 Ilya Leoshkevich
>
> * common/config/s390/s390-common.c (s390_option_init_struct):
> Use section anchors by default.
> *
Hi,
debugging a problem with an older GCC (4.6). I've seen RTXs using
ZERO_EXTRACT LHS operands on MEMs as in:
(insn 7 6 0 (set (zero_extract:DI (mem/s/c:QI (plus:DI (reg/f:DI 39
virtual-stack-vars)
(const_int -5 [0xfffb])) [0+0 S1 A8])
(const_int 24
intermediate expander.
The expanders were already there but unfortunately not wired up
correctly to the builtin.
gcc/ChangeLog:
2018-12-13 Andreas Krebbel
* config/s390/s390-builtins.def (s390_vec_double_s64): Map to
s390_vec_double_s64 instead of s390_vcdgb
2018-12-13 Andreas Krebbel
* config/s390/vx-builtins.md ("vec_ctd_s64", "vec_ctd_u64")
("vec_ctsl", "vec_ctul"): Replace 0 with VEC_NOINEXACT.
("vec_double_s64", "vec_double_u64"): Replace 4 with VEC_INEXACT.
-
On 1/19/18 12:28 AM, Jakub Jelinek wrote:
+#ifndef DEFAULT_INCOMING_FRAME_SP_OFFSET
+#define DEFAULT_INCOMING_FRAME_SP_OFFSET INCOMING_FRAME_SP_OFFSET
+#endif
...
+ /* If the current function starts with a non-standard incoming frame
+ sp offset, emit a note before the first instruction. */
+
Bootstrapped and regression tested on s390x (IBM z14).
Committed to mainline
gcc/ChangeLog:
2018-12-21 Andreas Krebbel
* config/s390/vector.md ("floatv2div2df2", "floatunsv2div2df2")
("fix_truncv2dfv2di2", "fixuns_truncv2dfv2di2"
On 02.09.19 16:46, Ilya Leoshkevich wrote:
> Bootstrap and regtest running on s390x-redhat-linux.
>
> The new sigfpe-eh.c fails with
>
> internal compiler error: RTL check: expected elt 0 type 'e' or 'u', have
> 'w' (rtx const_int)
>
> This is most likely due to a typo: XEXP (*op1, 0) was u
d3dc20418aad41af83fe45ccba527deb0b334983
Author: krebbel
Date: Thu Jun 6 11:35:04 2019 +
Fix PR88751
This patch implements a small improvement for the heuristic in lra
which decides when it has to activate the simpler register allocation
algorithm.
gcc/ChangeLog:
2019-06-06 Andreas Krebbel
On 06.09.19 12:48, Richard Biener wrote:
> On Fri, Sep 6, 2019 at 10:11 AM Andreas Krebbel wrote:
>>
>> Hi,
>>
>> since this caused a critical performance regression in the OpenJ9 byte code
>> interpreter after
>> migrating from GCC 4.8 to GCC 7 I wo
gcc/ChangeLog:
2018-10-15 Andreas Krebbel
* config/s390/s390.c (s390_expand_vec_init): Force vector element
into reg if it isn't a general operand.
gcc/testsuite/ChangeLog:
2018-10-15 Andreas Krebbel
* g++.dg/vec-init-1.C: New test.
---
gcc/config/s390/s
On 19.10.18 10:39, Ilya Leoshkevich wrote:
> gcc/ChangeLog:
>
> 2018-10-18 Ilya Leoshkevich
>
> * config/s390/s390.c (s390_loadrelative_operand_p): Accept
> literal pool references.
> (s390_check_qrst_address): Adapt to the new behavior of
> s390_loadrelative_operand_p
301 - 400 of 1086 matches
Mail list logo