[x32] Fix FrameIndex check in SelectLEA64_32Addr
authorPavel Chupin <pavel.v.chupin@intel.com>
Wed, 20 Aug 2014 11:59:22 +0000 (11:59 +0000)
committerPavel Chupin <pavel.v.chupin@intel.com>
Wed, 20 Aug 2014 11:59:22 +0000 (11:59 +0000)
commitaadaac228dcaa0c44cba743192abfa28e460c10c
tree99834d45d2eb43987ad0c241fe2080d9e012f7f0
parent40f9d11ccc17b0c0919151ff817ae4f363064fa3
[x32] Fix FrameIndex check in SelectLEA64_32Addr

Summary:
Fixes http://llvm.org/bugs/show_bug.cgi?id=20016 reproducible on new
lea-5.ll case.
Also use RSP/RBP for x32 lea to save 1 byte used for 0x67 prefix in
ESP/EBP case.

Test Plan: lea tests modified to include x32/nacl and new test added

Reviewers: nadav, dschuff, t.p.northover

Subscribers: llvm-commits, zinovy.nis

Differential Revision: http://reviews.llvm.org/D4929

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216065 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelDAGToDAG.cpp
lib/Target/X86/X86RegisterInfo.cpp
test/CodeGen/X86/lea-2.ll
test/CodeGen/X86/lea-3.ll
test/CodeGen/X86/lea-4.ll
test/CodeGen/X86/lea-5.ll [new file with mode: 0644]
test/CodeGen/X86/lea.ll