summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonas Paulsson <jonas.paulsson@ericsson.com>2015-10-26 15:03:49 +0000
committerJonas Paulsson <jonas.paulsson@ericsson.com>2015-10-26 15:03:49 +0000
commit83553d0cac09085ac9405ee171414a5a040e8e0f (patch)
tree806b9659d314370d00c1e9125aa043ec986c07d3
parent7da382088251e868a8cb9313c2f8fda58e4b2801 (diff)
downloadbcm5719-llvm-83553d0cac09085ac9405ee171414a5a040e8e0f.tar.gz
bcm5719-llvm-83553d0cac09085ac9405ee171414a5a040e8e0f.zip
[SystemZ] LTGFR use regclass should be GR32, not GR64.
Discovered by testing int-cmp-44.ll with -verify-machineinstrs (added to test run). llvm-svn: 251299
-rw-r--r--llvm/lib/Target/SystemZ/SystemZInstrInfo.td2
-rw-r--r--llvm/test/CodeGen/SystemZ/int-cmp-44.ll3
2 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/SystemZ/SystemZInstrInfo.td b/llvm/lib/Target/SystemZ/SystemZInstrInfo.td
index 5343ebaec19..628c51a48ef 100644
--- a/llvm/lib/Target/SystemZ/SystemZInstrInfo.td
+++ b/llvm/lib/Target/SystemZ/SystemZInstrInfo.td
@@ -424,7 +424,7 @@ let hasSideEffects = 0 in {
def LGFR : UnaryRRE<"lgf", 0xB914, sext32, GR64, GR32>;
}
let Defs = [CC], CCValues = 0xE, CompareZeroCCMask = 0xE in
- def LTGFR : UnaryRRE<"ltgf", 0xB912, null_frag, GR64, GR64>;
+ def LTGFR : UnaryRRE<"ltgf", 0xB912, null_frag, GR64, GR32>;
// Match 32-to-64-bit sign extensions in which the source is already
// in a 64-bit register.
diff --git a/llvm/test/CodeGen/SystemZ/int-cmp-44.ll b/llvm/test/CodeGen/SystemZ/int-cmp-44.ll
index 97d48521254..a87dccd4ac2 100644
--- a/llvm/test/CodeGen/SystemZ/int-cmp-44.ll
+++ b/llvm/test/CodeGen/SystemZ/int-cmp-44.ll
@@ -1,7 +1,8 @@
; Test that compares are omitted if CC already has the right value
; (z10 version).
;
-; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z10 -no-integrated-as | FileCheck %s
+; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z10 -no-integrated-as \
+; RUN: -verify-machineinstrs| FileCheck %s
declare void @foo()
OpenPOWER on IntegriCloud