This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Support 16 bit FP in inline asm register selection
ClosedPublic

Authored by fhahn on Sep 30 2016, 2:08 AM.

Details

Summary

This patch adds support for 16 bit floating point registers to the inline asm register selection on AArch64.

Without this patch, register allocation for the example below fails.

define half @test(half %a1, half %a2) #0 {
entry:
  %0 = tail call half asm "sqrshl ${0:h}, ${1:h}, ${2:h}", "=w,w,w" (half %a1, half %a2) #1
  ret half %0
}

Diff Detail

Repository
rL LLVM

Event Timeline

fhahn updated this revision to Diff 73009.Sep 30 2016, 2:08 AM
fhahn retitled this revision from to [AArch64] Support 16 bit FP in inline asm register selection.
fhahn updated this object.
fhahn added a reviewer: t.p.northover.
fhahn added a subscriber: llvm-commits.
fhahn updated this object.Sep 30 2016, 2:53 AM
fhahn updated this object.
fhahn added a subscriber: test.
fhahn updated this revision to Diff 74449.Oct 12 2016, 3:48 PM
fhahn updated this object.

Made a cosmetic change to the test case. It would be great if somebody could have a look.

jmolloy accepted this revision.Oct 13 2016, 12:40 AM
jmolloy added a reviewer: jmolloy.
jmolloy added a subscriber: jmolloy.

Looks trivially correct to me. Sorry for not spotting this one fly by before.

LGTM.

This revision is now accepted and ready to land.Oct 13 2016, 12:40 AM
fhahn added a comment.Oct 14 2016, 9:10 AM

As I do not have commit privileges it would be great if somebody could commit this patch (already marked as ready to land). Thank you very much.

fhahn added a comment.Oct 21 2016, 2:34 AM

Ping. This patch is accepted already and it would be great if somebody could commit it (I do not have commit privileges).

This revision was automatically updated to reflect the committed changes.