diff options
author | Tim Northover <tnorthover@apple.com> | 2013-05-30 13:19:42 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2013-05-30 13:19:42 +0000 |
commit | 15983b80a0ceb224b74d2ee5ef53d3eed37dc03b (patch) | |
tree | 04df22eecc061cf808aa3a7a8a33ba02dc2b8ebf /test/CodeGen/X86/fast-isel-divrem.ll | |
parent | 52d65ab72dcdb3b5de8b84743537355067819c31 (diff) | |
download | llvm-15983b80a0ceb224b74d2ee5ef53d3eed37dc03b.tar.gz llvm-15983b80a0ceb224b74d2ee5ef53d3eed37dc03b.tar.bz2 llvm-15983b80a0ceb224b74d2ee5ef53d3eed37dc03b.tar.xz |
X86: use sub-register sequences for MOV*r0 operations
Instead of having a bunch of separate MOV8r0, MOV16r0, ... pseudo-instructions,
it's better to use a single MOV32r0 (which will expand to "xorl %reg, %reg")
and obtain other sizes with EXTRACT_SUBREG and SUBREG_TO_REG. The encoding is
smaller and partial register updates can sometimes be avoided.
Until recently, this sequence was a barrier to rematerialization though. That
should now be fixed so it's an appropriate time to make the change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182928 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/fast-isel-divrem.ll')
-rw-r--r-- | test/CodeGen/X86/fast-isel-divrem.ll | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/test/CodeGen/X86/fast-isel-divrem.ll b/test/CodeGen/X86/fast-isel-divrem.ll index 7aba7f7b79..1a309a1ebc 100644 --- a/test/CodeGen/X86/fast-isel-divrem.ll +++ b/test/CodeGen/X86/fast-isel-divrem.ll @@ -1,5 +1,5 @@ -; RUN: llc -mtriple=x86_64-none-linux -fast-isel -fast-isel-abort < %s | FileCheck %s -; RUN: llc -mtriple=i686-none-linux -fast-isel -fast-isel-abort < %s | FileCheck %s +; RUN: llc -mtriple=x86_64-none-linux -fast-isel -fast-isel-abort -verify-machineinstrs < %s | FileCheck %s +; RUN: llc -mtriple=i686-none-linux -fast-isel -fast-isel-abort -verify-machineinstrs < %s | FileCheck %s define i8 @test_sdiv8(i8 %dividend, i8 %divisor) nounwind { entry: |