https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123094

--- Comment #14 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Robin Dapp from comment #13)
> (In reply to Andrew Pinski from comment #12)
> > Will psuh the testcase tomorrow. and yes, the fix is r16-7941.
> 
> Interesting.

Actually it does make sense based on comment #7.
```
(insn 21 20 22 6 (set (reg:V2DI 32 v0)
        (const_vector:V2DI [
                (const_int 1 [0x1])
                (const_int 0 [0])
            ])) "t.c":22:3 1338 {*aarch64_simd_movv2di}
     (nil))
...

(insn 54 53 55 6 (set (subreg:DI (reg:OI 128 [ _4 ]) 0)
        (reg:DI 32 v0)) "t.c":24:10 104 {*movdi_aarch64}
     (nil))
```
As mentioned in r16-7941 we deal with the vec_select of 0 as the same as lower
part. Here we have the "lowerpart" of the hard register.


> 
> > Robin,
> >  What do you think about backporting r16-7941 to GCC 15?
> 
> Sure, will do that.  I'll take that as an OK for the backport.

Yes

Reply via email to