[PATCH] Fix ARMFastISel::ARMEmitIntExt shift emission

JF Bastien jfb at google.com
Tue Jul 16 22:50:56 PDT 2013


Committed as r186489.

On Tue, Jul 16, 2013 at 10:04 AM, Joey Gouly <joey.gouly at arm.com> wrote:
> LGTM.
>
> Thanks for the quick fix!
>
>
> -----Original Message-----
> From: JF Bastien [mailto:jfb at google.com]
> Sent: 16 July 2013 00:17
> To: LLVM Commits
> Cc: Eric Christopher; Joey Gouly
> Subject: [PATCH] Fix ARMFastISel::ARMEmitIntExt shift emission
>
> My patch "r183551 - ARM FastISel integer sext/zext improvements" was
> incorrect when emitting ARM register-immediate ASR, LSL, LSR
> instructions: they are pseudo-instructions in ARMInstrInfo.td and I
> should have used MOVsi instead.
>
> This is not an issue when code is generated through a .s file, but is
> an issue when generated straight to a .o (-filetype=obj).
>
> The attached patch fixes this issue by using MOVsi instead of
> ASRi/LSLi/LSRi. It reorganizes the lookup table so that sext/zext
> cases are consecutive table entries instead of sharing a struct entry
> (other non-ARM-shift entries are unchanged, simply moved).
>
>
>



More information about the llvm-commits mailing list