diff options
author | Artyom Skrobov <Artyom.Skrobov@arm.com> | 2017-03-07 09:38:16 +0000 |
---|---|---|
committer | Artyom Skrobov <Artyom.Skrobov@arm.com> | 2017-03-07 09:38:16 +0000 |
commit | f57d023cd1acb2fa9d0c3acecd93fd5d7a97df1d (patch) | |
tree | ae8ac262eab33d227466ea375c8e030933625745 /test/CodeGen/Thumb/copy_thumb.ll | |
parent | dab1f003a6005ad22d11f0158900befadfd435ef (diff) |
In Thumb1, materialize a move between low registers as a `movs`, if CPSR isn't live.
Summary: Previously, it had always been materialized as a push/pop sequence.
Reviewers: labrinea, jroelofs
Reviewed By: jroelofs
Subscribers: llvm-commits, rengolin
Differential Revision: https://reviews.llvm.org/D30648
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297134 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/Thumb/copy_thumb.ll')
-rw-r--r-- | test/CodeGen/Thumb/copy_thumb.ll | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/test/CodeGen/Thumb/copy_thumb.ll b/test/CodeGen/Thumb/copy_thumb.ll index 528f54bd84e..008c31aba7a 100644 --- a/test/CodeGen/Thumb/copy_thumb.ll +++ b/test/CodeGen/Thumb/copy_thumb.ll @@ -16,15 +16,9 @@ ; RUN: llc -mtriple=thumbv4t-none--eabi < %s | FileCheck %s --check-prefix=CHECK-NOLOLOMOV ; RUN: llc -mtriple=thumbv5-none--eabi < %s | FileCheck %s --check-prefix=CHECK-NOLOLOMOV ; CHECK-NOLOLOMOV-LABEL: foo -; CHECK-NOLOLOMOV-NOT: mov [[TMP:r[0-7]]], [[SRC1:r[01]]] -; CHECK-NOLOLOMOV: push {[[SRC1:r[01]]]} -; CHECK-NOLOLOMOV-NEXT: pop {[[TMP:r[0-7]]]} -; CHECK-NOLOLOMOV-NOT: mov [[TMP:r[0-7]]], [[SRC1:r[01]]] -; CHECK-NOLOLOMOV: push {[[SRC2:r[01]]]} -; CHECK-NOLOLOMOV-NEXT: pop {[[SRC1]]} -; CHECK-NOLOLOMOV-NOT: mov [[TMP:r[0-7]]], [[SRC1:r[01]]] -; CHECK-NOLOLOMOV: push {[[TMP]]} -; CHECK-NOLOLOMOV-NEXT: pop {[[SRC2]]} +; CHECK-NOLOLOMOV: movs [[TMP:r[0-7]]], [[SRC1:r[01]]] +; CHECK-NOLOLOMOV-NEXT: movs [[SRC1]], [[SRC2:r[01]]] +; CHECK-NOLOLOMOV-NEXT: movs [[SRC2]], [[TMP]] ; CHECK-NOLOLOMOV-LABEL: bar ; CHECK-NOLOLOMOV-LABEL: fnend |