This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix wrong code on aarch64 due to paradoxical subreg


On 07/31/16 12:43, Bernd Edlinger wrote:
> I found out that the trouble starts one instruction earlier:
>
> (insn 19 40 20 2 (set (subreg:DI (reg:QI 93) 0)
>          ) pr.c:8 50 {*movdi_aarch64}
>       (expr_list:REG_DEAD (reg:DI 110 [ D.3037 ])
>          (nil)))
>

oops, my e-mail missed one line

that's what the insn actually looks like:

(insn 19 40 20 2 (set (subreg:DI (reg:QI 93) 0)
         (const_int 255 [0xff])) pr.c:8 50 {*movdi_aarch64}
      (expr_list:REG_DEAD (reg:DI 110 [ D.3037 ])
         (nil)))

So we can say reg:QI 93 is 255, but have no idea
what an expression like (subreg:DI (reg:QI 93) 0) will
evaluate to.


Bernd.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]