Re: Split generated insn-emit.c

2020-07-09 Thread Jojo R
Hi Martin, > I tried to investigate a bit: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84402 Looks like you have done some experiments for splitting hug files ? I can not find any patch, could you share much more idea with it ? —Jojo 在 2020年7月9日 +0800 PM3:59,Martin Liška ,写道: > On 7/9/20 9:54

Re: Split generated insn-emit.c

2020-07-12 Thread Jojo R
Hi, I consider four ways to implementation it, and maybe we can use ‘csplit’ tool to split output file, is that right ? —Jojo 在 2020年7月9日 +0800 PM3:59,Martin Liška ,写道: > On 7/9/20 9:54 AM, jiejie_r...@c-sky.com wrote: > > Hi, > > > > The size of generated file like insn-emit.c i

How to pack small type to big type without memory load/store ?

2020-08-03 Thread Jojo R
Hi, Form My ABI, float register is used by function call, I want to pack float a and b into double v without any memory load/store, The flowing is my demo: Typedef union { float ff[2]; double v; } double_u; Double pack_float (float a, float b) { double_u tmp; t

Wrong optimization from ‘fwprop’ pass

2020-09-22 Thread Jojo R
insn seqs: s1: __builtin_set_float_convert_mode(0); r1 = __builtin_load(a1, a2); r2 = __builtin_float_convert(r1); __builtin_store(a3, r2); __builtin_set_float_convert_mode(0); s2: __builtin_set_float_convert_mode(1); r1 = __builtin_load(a1

Re: Wrong optimization from ‘fwprop’ pass

2020-09-26 Thread Jojo R
Hi, Got it, Thanks :) Jojo 在 2020年9月27日 +0800 AM3:22,Segher Boessenkool ,写道: > Hi! > > On Wed, Sep 23, 2020 at 10:50:52AM +0800, Jojo R wrote: > > insn seqs: > > > > s1: > > > > __builtin_set_float_convert_mode(0); > > r1 = __builtin_load

How to check reachable between blocks

2020-10-09 Thread Jojo R
Hi, Is there any API or common codes to check any two blocks is reachable ? Thanks. Jojo

Re: How to check reachable between blocks

2020-10-09 Thread Jojo R
Hi, Thanks, i will dig it deeply :) Jojo 在 2020年10月10日 +0800 AM11:14,Andrew Pinski ,写道: > On Fri, Oct 9, 2020 at 8:01 PM Jojo R wrote: > > > > Hi, > > > > Is there any API or common codes to check any two blocks is reachable ? > > Yes the API in dominanc

Wrong insn scheduled by Sched1 pass

2020-11-02 Thread Jojo R
Hi, From origin insn seqs, I think the insn 'r500=unspec[r100] 300’ is in Good place because of the bypass of my pipeline description, it is not needed to schedule. But the result of Sched1 pass schedule it, I check the souce code of sched-rgn.c & haifa-sched.c From compute_priorities() I think

Re: Wrong insn scheduled by Sched1 pass

2020-11-04 Thread Jojo R
Jojo 在 2020年11月5日 +0800 AM2:25,Jim Wilson ,写道: > On Mon, Nov 2, 2020 at 11:45 PM Jojo R wrote: > > From origin insn seqs, I think the insn 'r500=unspec[r100] 300’ is in > > Good place because of the bypass of my pipeline description, it is not > > needed to schedule

How to define Struct / Array type with runtime invariants like SVE or RVV

2021-08-24 Thread Jojo R via Gcc
add supporting for these types with computed size at runtime ? — Jojo R

Re: How to define Struct / Array type with runtime invariants like SVE or RVV

2021-08-25 Thread Jojo R via Gcc
— Jojo 在 2021年8月25日 +0800 PM3:27,Jonathan Wakely ,写道: > > > On Wed, 25 Aug 2021, 07:45 Jojo R wrote: > > Hi, > > > >         I want to use struct or array type as container in my project, > > > >         but GCC does not support this usage by now because

How to describe ‘earlyclobber’ explicitly for specific source operand ?

2021-11-18 Thread Jojo R via Gcc
Hi, We know gcc supply earlyclobber function to avoid register overlap, but it can not describe explicitly for specific source operand, is it right ? The vector ISA spec of risc-v describe some register overlap rules here: https://github.com/riscv/riscv-v-spec/

Re: How to describe ‘earlyclobber’ explicitly for specific source operand ?

2021-11-21 Thread Jojo R via Gcc
— Jojo 在 2021年11月20日 +0800 AM6:11,Peter Bergner ,写道: > On 11/19/21 1:28 AM, Jojo R via Gcc wrote: > > We know gcc supply earlyclobber function to avoid register overlap, > > > > but it can not describe explicitly for specific source operand, is it right > > ? >

How to use bfloat16 type in GCC ?

2021-12-01 Thread Jojo R via Gcc
Has GCC supported soft-fp for bfloat16 ? Thanks, — Jojo

Why does GCC(libgcc) pack libgcc_eh.a into libgcc.a in baremetal ?

2022-04-21 Thread Jojo R via Gcc
Hi, Are there some history or reason for this design ? I think it’s clear & simple to keep coherent logic, namely that there should be libgcc_eh.a for exceptions :) Add Makefile.in segment of libgcc as following: # Build LIB2ADDEH, LIB2ADDEHSTATIC, and LIB2ADDEHSH