Missed optimisation in __udivmoddi4 of libgcc2

2020-09-13 Thread Stefan Kanthak
libgcc2 provides "double-word" division as __udivmoddi4() The following part of its source | UWtype d0, d1, n0, n1, n2; | UWtype b, bm; ... | count_leading_zeros (bm, d1); | if (bm == 0) ... | else | { | UWtype m1, m0; | /* Normalize. */ | | b = W_TYPE_SIZE - bm;

"gcc -E" does not honor #pragma

2020-09-13 Thread Chelsea Meyers via Gcc
Hi, I'm new to contributing to GCC, so I looked for issues in Bugzilla with the keyword "easyhack" that looked comprehensible to me, and found bug 53920: "'gcc -E' does not honor #pragma GCC diagnostic ignored '-Wunused-macro'". I verified using a fresh build of gcc from the master branch that whe

gcc-11-20200913 is now available

2020-09-13 Thread GCC Administrator via Gcc
Snapshot gcc-11-20200913 is now available on https://gcc.gnu.org/pub/gcc/snapshots/11-20200913/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 11 git branch with the following options: git://gcc.gnu.org/git/gcc.git branch

instrument a funtion on RTL

2020-09-13 Thread 易会战 via Gcc
hi, one of my work need to instrument a memset function (since the memset are inserted after pass_expand). I find inserting a function before memset directly will lead to segment fault. I think the inserted funtion destroy memset funtion arguments. I put the inserted funtion after memset, run ok

RE: A problem with one instruction multiple latencies and pipelines

2020-09-13 Thread Qian, Jianhua
> -Original Message- > From: Richard Earnshaw > Sent: Friday, September 11, 2020 9:30 PM > To: Qian, Jianhua/钱 建华 ; gcc@gcc.gnu.org > Subject: Re: A problem with one instruction multiple latencies and pipelines > > On 07/09/2020 07:08, Qian, Jianhua wrote: > > Hi > > > > I'm adding a new

RE: A problem with one instruction multiple latencies and pipelines

2020-09-13 Thread Qian, Jianhua
Hi Richard and Segher I don't know if I exactly understood your discussion. If I misunderstood, please let me know. I am trying to test these two cases. Case 1. keep the TYPE attribute unchanged, add new attributes It works well as below. (define_attr "shift_imm_value" "shift_imm_none,sh