This is an archive of the discontinued LLVM Phabricator instance.

x32. Fixes a bug in i8mem_NOREX declaration.
ClosedPublic

Authored by jpp on Aug 25 2015, 2:34 PM.

Details

Summary

The old implementation assumed LP64 which is broken for x32. Specifically, the MOVE8rm_NOREX and MOVE8mr_NOREX, when selected, would cause a 'Cannot emit physreg copy instruction' error message to be reported.

This patch also enable the h-register*ll tests for x32.

Diff Detail

Event Timeline

jpp updated this revision to Diff 33125.Aug 25 2015, 2:34 PM
jpp retitled this revision from to x32. Fixes a bug in i8mem_NOREX declaration..
jpp updated this object.
jpp added a reviewer: llvm-commits.
dschuff added inline comments.
lib/Target/X86/X86InstrInfo.td
346

Maybe we should order these kind numbers in the order they appear in the file (i.e. these are 1 and 2, and ptr_rc_tailcall becomes 3)

lib/Target/X86/X86RegisterInfo.cpp
171–179

space between { and //

dschuff edited reviewers, added: dschuff; removed: llvm-commits.Sep 2 2015, 1:19 PM
dschuff added a subscriber: hjl.tools.
dschuff edited subscribers, added: llvm-commits; removed: dschuff.
jpp updated this revision to Diff 34231.Sep 8 2015, 10:46 AM
jpp marked 2 inline comments as done.
dschuff accepted this revision.Sep 8 2015, 11:03 AM
dschuff edited edge metadata.
This revision is now accepted and ready to land.Sep 8 2015, 11:03 AM
Eugene.Zelenko added a subscriber: Eugene.Zelenko.

Committed in rL247058.