Weird optimization for tuples?

2017-02-11 Thread David Guillen Fandos
Hello! I have the following function std::tuple getRawIdx(uint16_t tidx) { return std::make_tuple(localidx.entries[tidx].indx_ptr, localidx.entries[tidx].indx_size); } Where s is a struct like typedef struct __attribute__((packed)) { uint32_t indx_ptr;

Re: Vector registers on MIPS arch

2016-04-09 Thread David Guillen Fandos
On 07/04/16 09:09, Ilya Enkovich wrote: > 2016-04-07 0:49 GMT+03:00 David Guillen Fandos <da...@davidgf.net>: >> >> Thanks a lot Ilya! >> >> I managed to get it working. There were some bugs regarding register >> allocation that ended up promoting the class

Re: Vector registers on MIPS arch

2016-04-06 Thread David Guillen Fandos
On 06/04/16 10:44, Ilya Enkovich wrote: > 2016-04-06 1:50 GMT+03:00 David Guillen Fandos <da...@davidgf.net>: >> >> Thanks again Ilya, >> >> That seems to help to solve the problem. Now I'm facing another issue. >> It seems the tree-vec-generic pass is promo

Re: Vector registers on MIPS arch

2016-04-05 Thread David Guillen Fandos
On 05/04/16 09:13, Ilya Enkovich wrote: > 2016-04-05 1:59 GMT+03:00 David Guillen Fandos <da...@davidgf.net>: >> >> >> On 04/04/16 10:55, Ilya Enkovich wrote: >>> 2016-04-02 3:32 GMT+03:00 David Guillen Fandos <da...@davidgf.net>: >>>>

Re: Vector registers on MIPS arch

2016-04-04 Thread David Guillen Fandos
On 04/04/16 10:55, Ilya Enkovich wrote: > 2016-04-02 3:32 GMT+03:00 David Guillen Fandos <da...@davidgf.net>: >> Hello there! >> >> I'm trying to add some vector registers to a MIPS arch (32 bit). This >> arch has 32 x 128 bit registers that can essentially be

Vector registers on MIPS arch

2016-04-01 Thread David Guillen Fandos
Hello there! I'm trying to add some vector registers to a MIPS arch (32 bit). This arch has 32 x 128 bit registers that can essentially be seen as V4SF. So far I'm using this test: volatile float foo __attribute__ ((vector_size (16))); volatile float bar __attribute__ ((vector_size (16))); int

GCC 4.9 generates bigger code for x86

2014-10-09 Thread David Guillen Fandos
Hi all, I just noticed that 4.9 generates some code overhead for 386 machines respect to 4.8. In my test case I used 4.8.1 and 4.9.1 and realized that when compiling with -Os -fno-exceptions -fno-align-functions -fomit-frame-pointer certain things change: On 4.9 the backend adds some nop