public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Andrew Pinski <pinskia@gmail.com>
To: Thiago Jung Bauermann <thiago.bauermann@linaro.org>
Cc: Manolis Tsamis <manolis.tsamis@vrull.eu>,
	Jeff Law <jeffreyalaw@gmail.com>,
	 Philipp Tomsich <philipp.tomsich@vrull.eu>,
	Richard Biener <richard.guenther@gmail.com>,
	 Palmer Dabbelt <palmer@rivosinc.com>,
	Kito Cheng <kito.cheng@gmail.com>,
	gcc-patches@gcc.gnu.org,
	 Tamar Christina <tamar.christina@arm.com>
Subject: Re: [PATCH 2/2] cprop_hardreg: Enable propagation of the stack pointer if possible.
Date: Mon, 19 Jun 2023 16:48:21 -0700	[thread overview]
Message-ID: <CA+=Sn1=vCsiVgL0YG5a7G-ZhmPLHPNQCAZnniMMRLXrcicEOrw@mail.gmail.com> (raw)
In-Reply-To: <CA+=Sn1k7C-OptHzM4fP8e4mEVKEikYgWYP+RVxuSbf8KrrQ5rQ@mail.gmail.com>

On Mon, Jun 19, 2023 at 4:40 PM Andrew Pinski <pinskia@gmail.com> wrote:
>
> On Mon, Jun 19, 2023 at 9:58 AM Thiago Jung Bauermann via Gcc-patches
> <gcc-patches@gcc.gnu.org> wrote:
> >
> >
> > Hello Manolis,
> >
> > Philipp Tomsich <philipp.tomsich@vrull.eu> writes:
> >
> > > On Thu, 8 Jun 2023 at 00:18, Jeff Law <jeffreyalaw@gmail.com> wrote:
> > >>
> > >> On 5/25/23 06:35, Manolis Tsamis wrote:
> > >> > Propagation of the stack pointer in cprop_hardreg is currenty forbidden
> > >> > in all cases, due to maybe_mode_change returning NULL. Relax this
> > >> > restriction and allow propagation when no mode change is requested.
> > >> >
> > >> > gcc/ChangeLog:
> > >> >
> > >> >          * regcprop.cc (maybe_mode_change): Enable stack pointer propagation.
> > >> Thanks for the clarification.  This is OK for the trunk.  It looks
> > >> generic enough to have value going forward now rather than waiting.
> > >
> > > Rebased, retested, and applied to trunk.  Thanks!
> >
> > Our CI found a couple of tests that started failing on aarch64-linux
> > after this commit. I was able to confirm manually that they don't happen
> > in the commit immediately before this one, and also that these failures
> > are still present in today's trunk.
> >
> > I have testsuite logs for last good commit, first bad commit and current
> > trunk here:
> >
> > https://people.linaro.org/~thiago.bauermann/gcc-regression-6a2e8dcbbd4b/
> >
> > Could you please check?
> >
> > These are the new failures:
> >
> > Running gcc:gcc.target/aarch64/aarch64.exp ...
> > FAIL: gcc.target/aarch64/stack-check-cfa-3.c scan-assembler-times mov\\tx11, sp 1
>
> So for the above before this change we had:
> ```
> (insn:TI 597 596 598 2 (set (reg:DI 11 x11)
>         (reg/f:DI 31 sp)) "stack-check-prologue-16.c":16:1 65 {*movdi_aarch64}
>      (nil))
> (insn 598 597 599 2 (set (mem:BLK (scratch) [0  A8])
>         (unspec:BLK [
>                 (reg:DI 11 x11)
>                 (reg/f:DI 31 sp)
>             ] UNSPEC_PRLG_STK)) "stack-check-prologue-16.c":16:1 1169
> {stack_tie}
>      (expr_list:REG_DEAD (reg:DI 11 x11)
>         (nil)))
> ```
>
> After we get:
> ```
> (insn 598 596 599 2 (set (mem:BLK (scratch) [0  A8])
>         (unspec:BLK [
>                 (reg:DI 31 sp [11]) repeated x2
>             ] UNSPEC_PRLG_STK)) "stack-check-prologue-16.c":16:1 1169
> {stack_tie}
>      (nil))
> ```
> Which seems to be ok, except we still have:
> .cfi_def_cfa_register 11
>
> That is because on:
> (insn/f 596 595 598 2 (set (reg:DI 12 x12)
>         (plus:DI (reg:DI 12 x12)
>             (const_int 272 [0x110]))) "stack-check-prologue-16.c":16:1
> 153 {*adddi3_aarch64}
>      (expr_list:REG_CFA_DEF_CFA (reg:DI 11 x11)
>         (nil)))
>
> We record x11 but never update it though that came before the mov for
> x11 ... So it seems like cprop_hardreg had no idea it needed to update
> it.
>
> I suspect the other testcases are just propagation of sp into the
> stores and such and just needed update. But the above testcase seems
> getting broken cfi  though I don't know how to fix it.

The code from aarch64.cc:
```
          /* This is done to provide unwinding information for the stack
             adjustments we're about to do, however to prevent the optimizers
             from removing the R11 move and leaving the CFA note (which would be
             very wrong) we tie the old and new stack pointer together.
             The tie will expand to nothing but the optimizers will not touch
             the instruction.  */
          rtx stack_ptr_copy = gen_rtx_REG (Pmode, STACK_CLASH_SVE_CFA_REGNUM);
          emit_move_insn (stack_ptr_copy, stack_pointer_rtx);
          emit_insn (gen_stack_tie (stack_ptr_copy, stack_pointer_rtx));

          /* We want the CFA independent of the stack pointer for the
             duration of the loop.  */
          add_reg_note (insn, REG_CFA_DEF_CFA, stack_ptr_copy);
          RTX_FRAME_RELATED_P (insn) = 1;
```

Well except now with this change, the optimizers touch this
instruction. Maybe the move instruction should not be a move but an
unspec so optimizers don't know what the move was.
Adding Tamar to the CC who added this code to aarch64 originally for
comments on the above understanding here.

Thanks,
Andrew


>
> Thanks,
> Andrew Pinski
>
>
> >
> > Running gcc:gcc.target/aarch64/sve/pcs/aarch64-sve-pcs.exp ...
> > FAIL: gcc.target/aarch64/sve/pcs/args_1.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_pred
> > FAIL: gcc.target/aarch64/sve/pcs/args_2.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tmov\\t(z[0-9]+\\.b), #8\\n.*\\tst1b\\t\\1, p[0-7], \\[x4\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_3.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tmov\\t(z[0-9]+\\.b), #8\\n.*\\tst1b\\t\\1, p[0-7], \\[x4\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_4.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tfmov\\t(z[0-9]+\\.h), #8\\.0.*\\tst1h\\t\\1, p[0-7], \\[x4\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_be_bf16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2h\\t{(z[0-9]+\\.h) - z[0-9]+\\.h}.*\\tst1h\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_be_f16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2h\\t{(z[0-9]+\\.h) - z[0-9]+\\.h}.*\\tst1h\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_be_f32.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2w\\t{(z[0-9]+\\.s) - z[0-9]+\\.s}.*\\tst1w\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_be_f64.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2d\\t{(z[0-9]+\\.d) - z[0-9]+\\.d}.*\\tst1d\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_be_s16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2h\\t{(z[0-9]+\\.h) - z[0-9]+\\.h}.*\\tst1h\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_be_s32.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2w\\t{(z[0-9]+\\.s) - z[0-9]+\\.s}.*\\tst1w\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_be_s64.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2d\\t{(z[0-9]+\\.d) - z[0-9]+\\.d}.*\\tst1d\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_be_s8.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2b\\t{(z[0-9]+\\.b) - z[0-9]+\\.b}.*\\tst1b\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_be_u16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2h\\t{(z[0-9]+\\.h) - z[0-9]+\\.h}.*\\tst1h\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_be_u32.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2w\\t{(z[0-9]+\\.s) - z[0-9]+\\.s}.*\\tst1w\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_be_u64.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2d\\t{(z[0-9]+\\.d) - z[0-9]+\\.d}.*\\tst1d\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_be_u8.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2b\\t{(z[0-9]+\\.b) - z[0-9]+\\.b}.*\\tst1b\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_le_bf16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2h\\t{(z[0-9]+)\\.h - z[0-9]+\\.h}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_le_f16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2h\\t{(z[0-9]+)\\.h - z[0-9]+\\.h}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_le_f32.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2w\\t{(z[0-9]+)\\.s - z[0-9]+\\.s}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_le_f64.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2d\\t{(z[0-9]+)\\.d - z[0-9]+\\.d}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_le_s16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2h\\t{(z[0-9]+)\\.h - z[0-9]+\\.h}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_le_s32.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2w\\t{(z[0-9]+)\\.s - z[0-9]+\\.s}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_le_s64.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2d\\t{(z[0-9]+)\\.d - z[0-9]+\\.d}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_le_s8.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2b\\t{(z[0-9]+)\\.b - z[0-9]+\\.b}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_le_u16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2h\\t{(z[0-9]+)\\.h - z[0-9]+\\.h}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_le_u32.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2w\\t{(z[0-9]+)\\.s - z[0-9]+\\.s}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_le_u64.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2d\\t{(z[0-9]+)\\.d - z[0-9]+\\.d}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_5_le_u8.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld2b\\t{(z[0-9]+)\\.b - z[0-9]+\\.b}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_bf16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1h\\t(z[0-9]+\\.h), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1h\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_bf16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4h\\t{(z[0-9]+\\.h) - z[0-9]+\\.h}.*\\tst1h\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_f16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1h\\t(z[0-9]+\\.h), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1h\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_f16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4h\\t{(z[0-9]+\\.h) - z[0-9]+\\.h}.*\\tst1h\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_f32.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1w\\t(z[0-9]+\\.s), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1w\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_f32.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4w\\t{(z[0-9]+\\.s) - z[0-9]+\\.s}.*\\tst1w\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_f64.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1d\\t(z[0-9]+\\.d), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1d\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_f64.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4d\\t{(z[0-9]+\\.d) - z[0-9]+\\.d}.*\\tst1d\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_s16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1h\\t(z[0-9]+\\.h), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1h\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_s16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4h\\t{(z[0-9]+\\.h) - z[0-9]+\\.h}.*\\tst1h\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_s32.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1w\\t(z[0-9]+\\.s), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1w\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_s32.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4w\\t{(z[0-9]+\\.s) - z[0-9]+\\.s}.*\\tst1w\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_s64.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1d\\t(z[0-9]+\\.d), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1d\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_s64.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4d\\t{(z[0-9]+\\.d) - z[0-9]+\\.d}.*\\tst1d\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_s8.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1b\\t(z[0-9]+\\.b), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1b\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_s8.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4b\\t{(z[0-9]+\\.b) - z[0-9]+\\.b}.*\\tst1b\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_u16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1h\\t(z[0-9]+\\.h), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1h\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_u16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4h\\t{(z[0-9]+\\.h) - z[0-9]+\\.h}.*\\tst1h\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_u32.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1w\\t(z[0-9]+\\.s), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1w\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_u32.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4w\\t{(z[0-9]+\\.s) - z[0-9]+\\.s}.*\\tst1w\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_u64.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1d\\t(z[0-9]+\\.d), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1d\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_u64.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4d\\t{(z[0-9]+\\.d) - z[0-9]+\\.d}.*\\tst1d\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_u8.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1b\\t(z[0-9]+\\.b), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1b\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_be_u8.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4b\\t{(z[0-9]+\\.b) - z[0-9]+\\.b}.*\\tst1b\\t\\1, p[0-7], \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_bf16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1h\\t(z[0-9]+\\.h), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1h\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_bf16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4h\\t{(z[0-9]+)\\.h - z[0-9]+\\.h}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_f16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1h\\t(z[0-9]+\\.h), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1h\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_f16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4h\\t{(z[0-9]+)\\.h - z[0-9]+\\.h}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_f32.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1w\\t(z[0-9]+\\.s), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1w\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_f32.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4w\\t{(z[0-9]+)\\.s - z[0-9]+\\.s}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_f64.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1d\\t(z[0-9]+\\.d), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1d\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_f64.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4d\\t{(z[0-9]+)\\.d - z[0-9]+\\.d}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_s16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1h\\t(z[0-9]+\\.h), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1h\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_s16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4h\\t{(z[0-9]+)\\.h - z[0-9]+\\.h}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_s32.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1w\\t(z[0-9]+\\.s), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1w\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_s32.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4w\\t{(z[0-9]+)\\.s - z[0-9]+\\.s}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_s64.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1d\\t(z[0-9]+\\.d), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1d\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_s64.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4d\\t{(z[0-9]+)\\.d - z[0-9]+\\.d}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_s8.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1b\\t(z[0-9]+\\.b), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1b\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_s8.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4b\\t{(z[0-9]+)\\.b - z[0-9]+\\.b}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_u16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1h\\t(z[0-9]+\\.h), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1h\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_u16.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4h\\t{(z[0-9]+)\\.h - z[0-9]+\\.h}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_u32.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1w\\t(z[0-9]+\\.s), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1w\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_u32.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4w\\t{(z[0-9]+)\\.s - z[0-9]+\\.s}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_u64.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1d\\t(z[0-9]+\\.d), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1d\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_u64.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4d\\t{(z[0-9]+)\\.d - z[0-9]+\\.d}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_u8.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld1b\\t(z[0-9]+\\.b), p[0-7]/z, \\[x0, #5, mul vl\\]\\n.*\\tst1b\\t\\1, p[0-7], \\[x2\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_6_le_u8.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tld4b\\t{(z[0-9]+)\\.b - z[0-9]+\\.b}.*\\tstr\\t\\1, \\[x1\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/args_8.c -march=armv8.2-a+sve -fno-stack-protector  scan-assembler \\tmov\\t(z[0-9]+\\.b), #42\\n.*\\tst1b\\t\\1, p[0-7], \\[x4\\]\\n
> > FAIL: gcc.target/aarch64/sve/pcs/stack_clash_1.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies test_1
> > FAIL: gcc.target/aarch64/sve/pcs/stack_clash_1.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies test_3
> > FAIL: gcc.target/aarch64/sve/pcs/stack_clash_1.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies test_4
> > FAIL: gcc.target/aarch64/sve/pcs/stack_clash_1.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies test_5
> > FAIL: gcc.target/aarch64/sve/pcs/stack_clash_1.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies test_6
> > FAIL: gcc.target/aarch64/sve/pcs/stack_clash_1.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies test_7
> > FAIL: gcc.target/aarch64/sve/pcs/stack_clash_2.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies test_1
> > FAIL: gcc.target/aarch64/sve/pcs/stack_clash_2.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies test_10
> > FAIL: gcc.target/aarch64/sve/pcs/stack_clash_2.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies test_11
> > FAIL: gcc.target/aarch64/sve/pcs/stack_clash_2.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies test_2
> > FAIL: gcc.target/aarch64/sve/pcs/stack_clash_2.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies test_3
> > FAIL: gcc.target/aarch64/sve/pcs/stack_clash_2.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies test_4
> > FAIL: gcc.target/aarch64/sve/pcs/stack_clash_2.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies test_5
> > FAIL: gcc.target/aarch64/sve/pcs/stack_clash_2.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies test_6
> > FAIL: gcc.target/aarch64/sve/pcs/stack_clash_2.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies test_7
> > FAIL: gcc.target/aarch64/sve/pcs/stack_clash_2.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies test_8
> > FAIL: gcc.target/aarch64/sve/pcs/stack_clash_2.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies test_9
> > FAIL: gcc.target/aarch64/sve/pcs/stack_clash_3.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies test_1
> > FAIL: gcc.target/aarch64/sve/pcs/stack_clash_3.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies test_2
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_1.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_0
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_1.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_1
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_1.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_7
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_f16.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_0
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_f16.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_1
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_f16.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_7
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_f32.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_0
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_f32.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_1
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_f32.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_7
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_f64.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_0
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_f64.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_1
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_f64.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_7
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_s16.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_0
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_s16.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_1
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_s16.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_7
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_s32.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_0
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_s32.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_1
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_s32.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_7
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_s64.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_0
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_s64.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_1
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_s64.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_7
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_s8.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_0
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_s8.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_1
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_s8.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_7
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_u16.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_0
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_u16.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_1
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_u16.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_7
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_u32.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_0
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_u32.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_1
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_u32.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_7
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_u64.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_0
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_u64.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_1
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_u64.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_7
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_u8.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_0
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_u8.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_1
> > FAIL: gcc.target/aarch64/sve/pcs/varargs_2_u8.c -march=armv8.2-a+sve -fno-stack-protector  check-function-bodies caller_7
> >
> > --
> > Thiago

  reply	other threads:[~2023-06-19 23:48 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-25 12:35 [PATCH 0/2] RISC-V: New pass to optimize calculation of offsets for memory operations Manolis Tsamis
2023-05-25 12:35 ` [PATCH 1/2] Implementation of new RISCV optimizations pass: fold-mem-offsets Manolis Tsamis
2023-05-25 13:01   ` Richard Biener
2023-05-25 13:25     ` Manolis Tsamis
2023-05-25 13:31     ` Jeff Law
2023-05-25 13:50       ` Richard Biener
2023-05-25 14:02         ` Manolis Tsamis
2023-05-29 23:30           ` Jeff Law
2023-05-31 12:19             ` Manolis Tsamis
2023-05-31 14:00               ` Jeff Law
2023-05-25 14:13         ` Jeff Law
2023-05-25 14:18           ` Philipp Tomsich
2023-06-08  5:37   ` Jeff Law
2023-06-12  7:36     ` Manolis Tsamis
2023-06-12 14:37       ` Jeff Law
2023-06-09  0:57   ` Jeff Law
2023-06-12  7:32     ` Manolis Tsamis
2023-06-12 21:58       ` Jeff Law
2023-06-15 17:34         ` Manolis Tsamis
2023-06-10 15:49   ` Jeff Law
2023-06-12  7:41     ` Manolis Tsamis
2023-06-12 21:36       ` Jeff Law
2023-05-25 12:35 ` [PATCH 2/2] cprop_hardreg: Enable propagation of the stack pointer if possible Manolis Tsamis
2023-05-25 13:38   ` Jeff Law
2023-05-31 12:15     ` Manolis Tsamis
2023-06-07 22:16       ` Jeff Law
2023-06-07 22:18   ` Jeff Law
2023-06-08  6:15     ` Manolis Tsamis
2023-06-15 20:13     ` Philipp Tomsich
2023-06-19 16:57       ` Thiago Jung Bauermann
2023-06-19 17:07         ` Manolis Tsamis
2023-06-19 23:40         ` Andrew Pinski
2023-06-19 23:48           ` Andrew Pinski [this message]
2023-06-20  2:16             ` Jeff Law
2023-06-20  4:52               ` Tamar Christina
2023-06-20  5:00                 ` Jeff Law
2023-06-21 23:42                   ` Thiago Jung Bauermann
2023-06-22  7:37                     ` Richard Biener
2023-06-22  7:58                       ` Philipp Tomsich
2023-05-25 13:42 ` [PATCH 0/2] RISC-V: New pass to optimize calculation of offsets for memory operations Jeff Law
2023-05-25 13:57   ` Manolis Tsamis
2023-06-15 15:04   ` Jeff Law
2023-06-15 15:30     ` Manolis Tsamis
2023-06-15 15:56       ` Jeff Law
2023-06-18 18:11       ` Jeff Law

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CA+=Sn1=vCsiVgL0YG5a7G-ZhmPLHPNQCAZnniMMRLXrcicEOrw@mail.gmail.com' \
    --to=pinskia@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jeffreyalaw@gmail.com \
    --cc=kito.cheng@gmail.com \
    --cc=manolis.tsamis@vrull.eu \
    --cc=palmer@rivosinc.com \
    --cc=philipp.tomsich@vrull.eu \
    --cc=richard.guenther@gmail.com \
    --cc=tamar.christina@arm.com \
    --cc=thiago.bauermann@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).