This is an archive of the discontinued LLVM Phabricator instance.

[X86] Allow no X87 on 32-bit
ClosedPublic

Authored by pengfei on Nov 14 2022, 7:03 AM.

Details

Summary

This patch is an alternative of D100091. It solved the problems in f80 type lowering.

Diff Detail

Event Timeline

pengfei created this revision.Nov 14 2022, 7:03 AM
Herald added a project: Restricted Project. · View Herald TranscriptNov 14 2022, 7:03 AM
pengfei requested review of this revision.Nov 14 2022, 7:03 AM
Herald added a project: Restricted Project. · View Herald TranscriptNov 14 2022, 7:03 AM
LuoYuanke added inline comments.Nov 16 2022, 3:36 AM
llvm/lib/Target/X86/X86InstrFormats.td
479

Remove "Not Predicated" of the comments?

llvm/test/CodeGen/X86/no-ret-in-x87-reg.ll
140

Is it because the last 16 bit value is stored in cx?

195

Add a case to convert from x86_fp80 to int?

pengfei updated this revision to Diff 475800.Nov 16 2022, 5:32 AM
pengfei marked 2 inline comments as done.

Address review comments.

llvm/test/CodeGen/X86/no-ret-in-x87-reg.ll
140

Yes. We first bitcast f80 to i80, then extend it to i96. We cleared the upper 16 bits during this stage.

LuoYuanke accepted this revision.Nov 17 2022, 6:59 PM

LGTM, but pls wait for a few days so that other reviewers' comments can be addressed.

This revision is now accepted and ready to land.Nov 17 2022, 6:59 PM
This revision was landed with ongoing or failed builds.Nov 21 2022, 6:48 PM
This revision was automatically updated to reflect the committed changes.