Re: [PATCH] fix hardreg_cprop to honor HARD_REGNO_MODE_OK.

2014-10-10 Thread Jeff Law
On 09/26/14 09:31, Ilya Tocar wrote: It's not a question of performance, but of design. Obviously, but I still fail to see why honoring HARD_REGNO_MODE_OK is bad design. I suspect that even without avx512 changes not honoring it will bite us sooner or later. If we look at maybe_mode_change:

Re: [PATCH] fix hardreg_cprop to honor HARD_REGNO_MODE_OK.

2014-09-26 Thread Ilya Tocar
On 25 Sep 13:14, Jeff Law wrote: > On 09/01/14 04:29, Ilya Tocar wrote: > >>> > >>>AVX512 added new 16 xmm registers (xmm16-xmm31). > >>>Those registers require evex encoding. > >>>Only 512-bit wide versions of instructions have evex encoding with > >>>avx512f, but all versions have it with avx512v

Re: [PATCH] fix hardreg_cprop to honor HARD_REGNO_MODE_OK.

2014-09-25 Thread Jeff Law
On 09/01/14 04:29, Ilya Tocar wrote: AVX512 added new 16 xmm registers (xmm16-xmm31). Those registers require evex encoding. Only 512-bit wide versions of instructions have evex encoding with avx512f, but all versions have it with avx512vl. Most instructions have same macroized pattern for 128/2

Re: [PATCH] fix hardreg_cprop to honor HARD_REGNO_MODE_OK.

2014-09-01 Thread Ilya Tocar
> > > >AVX512 added new 16 xmm registers (xmm16-xmm31). > >Those registers require evex encoding. > >Only 512-bit wide versions of instructions have evex encoding with > >avx512f, but all versions have it with avx512vl. > >Most instructions have same macroized pattern for 128/256/512 vector > >leng

Re: [PATCH] fix hardreg_cprop to honor HARD_REGNO_MODE_OK.

2014-08-29 Thread Jeff Law
On 08/14/14 07:16, Ilya Tocar wrote: I've observed SPEC2006 failure on avx512-vlbwdq branch. It was caused by hardreg_cprop. In maybe_mode_change it was assumed, that all values of the same register class and same mode. are ok. This is not the case for i386/avx512. We need to honor HARD_REGNO_MO

Re: [PATCH] fix hardreg_cprop to honor HARD_REGNO_MODE_OK.

2014-08-14 Thread Ilya Tocar
> >I've observed SPEC2006 failure on avx512-vlbwdq branch. > >It was caused by hardreg_cprop. In maybe_mode_change it was > >assumed, that all values of the same register class and same mode. > >are ok. This is not the case for i386/avx512. We need to honor > >HARD_REGNO_MODE_OK. > One could argu

Re: [PATCH] fix hardreg_cprop to honor HARD_REGNO_MODE_OK.

2014-08-13 Thread Jeff Law
On 08/11/14 07:49, Ilya Tocar wrote: Hi, I've observed SPEC2006 failure on avx512-vlbwdq branch. It was caused by hardreg_cprop. In maybe_mode_change it was assumed, that all values of the same register class and same mode. are ok. This is not the case for i386/avx512. We need to honor HARD_REG

[PATCH] fix hardreg_cprop to honor HARD_REGNO_MODE_OK.

2014-08-11 Thread Ilya Tocar
Hi, I've observed SPEC2006 failure on avx512-vlbwdq branch. It was caused by hardreg_cprop. In maybe_mode_change it was assumed, that all values of the same register class and same mode. are ok. This is not the case for i386/avx512. We need to honor HARD_REGNO_MODE_OK. Patch bellow does it. Ok fo