This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][v8.5A] Add PSTATE manipulation instructions XAFlag and AXFlag
ClosedPublic

Authored by olista01 on Sep 25 2018, 7:16 AM.

Details

Summary

These new instructions manipluate the NZCV bits, to convert between the
regular Arm floating-point comare format and an alternative format.

Patch by Pablo Barrio!

Diff Detail

Repository
rL LLVM

Event Timeline

olista01 created this revision.Sep 25 2018, 7:16 AM

So, what's this one actually for? I'm guessing x86 emulation in some manner, but I just couldn't work out how it makes things better.

t.p.northover added inline comments.Sep 26 2018, 7:58 AM
lib/Target/AArch64/AArch64InstrInfo.td
615 ↗(On Diff #166889)

I think these should be marked as Uses and Defs NZCV. I know you're only really doing assembly at the moment, but it's something that could very easily be overlooked later.

olista01 updated this revision to Diff 167145.Sep 26 2018, 8:31 AM

Mark instructions as using and defining NZCV.

Yes, I think these are something to do with x86 emulation, but I haven't looked into the details.

t.p.northover accepted this revision.Sep 27 2018, 1:31 AM

Thanks. Looks fine now.

This revision is now accepted and ready to land.Sep 27 2018, 1:31 AM
This revision was automatically updated to reflect the committed changes.