This is an archive of the discontinued LLVM Phabricator instance.

[x86] fix pr29061
ClosedPublic

Authored by coby on Sep 13 2017, 5:13 AM.

Details

Summary

https://bugs.llvm.org//show_bug.cgi?id=29061
Don't try referencing REX-needed regs when not on 64bit mode
Aligns to GCC

Diff Detail

Repository
rL LLVM

Event Timeline

coby created this revision.Sep 13 2017, 5:13 AM
coby edited the summary of this revision. (Show Details)Sep 13 2017, 5:21 AM
craig.topper added inline comments.Sep 13 2017, 11:35 AM
lib/Target/X86/X86ISelLowering.cpp
36825

Do you need to clear Res if this isn't true like we do in multiple other else cases?

coby added inline comments.Sep 14 2017, 12:07 AM
lib/Target/X86/X86ISelLowering.cpp
36825

It leads to in-ability to satisfy input regs:
error: couldn't allocate input reg for constraint '{di}'
so no :\.
that being said, i'm not to well familiar with this area so there might be some ways around it (i.e. Do clear, and make appropriate modifications to the subsequent code (although i'm not sure the outcome will be any 'neater')

RKSimon added inline comments.Sep 15 2017, 3:19 AM
test/CodeGen/X86/pr29061.ll
2

Expand the triple, otherwise it might cause issues depending on the buildbot:

; RUN: llc < %s -mtriple=i386-unknown-unknown | FileCheck %s

You might be able to use utils/update_llc_test_checks.py as well

coby updated this revision to Diff 115562.Sep 17 2017, 12:26 AM

addressed Simon's comment

RKSimon accepted this revision.Sep 22 2017, 7:15 AM

LGTM

This revision is now accepted and ready to land.Sep 22 2017, 7:15 AM
RKSimon closed this revision.Sep 27 2017, 2:48 AM

Fixed in rL314203 @coby Make sure you spell "Differential Revision: " correctly!

coby added a comment.Sep 27 2017, 3:34 AM

Fixed in rL314203 @coby Make sure you spell "Differential Revision: " correctly!

blimey
my vim has no auto-correction ;)