rfc: another switch optimization idea

2013-03-25 Thread Dinar Temirbulatov
Hi, We noticed some performance gains if we are not using jump over some simple switch statements. Here is the idea: Check whether the switch statement can be expanded with conditional instructions. In that case jump tables should be avoided since some branch instructions can be eliminated in furth

Re: rfc: another switch optimization idea

2013-03-28 Thread Dinar Temirbulatov
sorry, The numbers were too good, something was wrong in my setup. thanks, Dinar, >> before: >>Base Base Base Peak >> Peak Peak >>BenchmarksRef Time Run Time RatioRef Time Run Time Ratio >>---

Re: OpenACC support in 4.9

2013-05-11 Thread Dinar Temirbulatov
Another interesting use-case for OpenACC and OpenMP is mixing both standard annotations for the same loop: // Compute matrix multiplication. #pragma omp parallel for default(none) shared(A,B,C,size) #pragma acc kernels pcopyin(A[0:size][0:size],B[0:size][0:size]) \ pcopyout(C[0:size][0:size])

bad reassociation with signed integer code after PR45232.

2012-09-24 Thread Dinar Temirbulatov
Hi, I noticed some minor regression with singed integer operations in "the proprietary" code since http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45232. Of course, I could use "-fwrapv" flag but my question is: why we could not add overflow checking in for example int_const_binop() at fold-const.c fo

RFC: IPACP function cloning without LTO

2013-03-06 Thread Dinar Temirbulatov
Hi, The current implementation of IPACP doesn't allowed to clone function if caller(s) to that function is located in another object. Of course, no such problems if we could utilized LTO. And it is very interesting to have such functionality of compiler even without LTO. It could be changed, if for

Re: RFC: IPACP function cloning without LTO

2013-03-07 Thread Dinar Temirbulatov
On Wed, Mar 6, 2013 at 4:43 PM, Martin Jambor wrote: > Hi, > > On Wed, Mar 06, 2013 at 04:00:52PM +0400, Dinar Temirbulatov wrote: >> Hi, >> The current implementation of IPACP doesn't allowed to clone function >> if caller(s) to that function is located in another

Move STV(scalars_to_vector) RTL pass from i386 to target independent

2020-12-09 Thread Dinar Temirbulatov via Gcc
Hi, I have observed that STV2 pass added ~20% on CPU2006 456.hmmer with mostly by transforming V4SI operations. Looking at the pass itself, it looks like it might be transformed into RTL architecture-independent, and the pass deals only not wide integer operations. I think it might be useful on oth