diff options
author | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2015-01-22 09:39:08 +0000 |
---|---|---|
committer | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2015-01-22 09:39:08 +0000 |
commit | 9c26462a27f079bf0fba7aff514716a0141a341f (patch) | |
tree | 2ba8047e132a321ac0d8cf1d1e09339a6e3c852f /llvm/test | |
parent | 351db05308f4f7810f6604698e2ed94cecca1578 (diff) | |
download | bcm5719-llvm-9c26462a27f079bf0fba7aff514716a0141a341f.tar.gz bcm5719-llvm-9c26462a27f079bf0fba7aff514716a0141a341f.zip |
Fixed a bug in narrowing store operation.
Type MVT::i1 became legal in KNL, but store operation can't be narrowed to this type,
since the size of VT (1 bit) is not equal to its actual store size(8 bits).
Added a test provided by David (dag@cray.com)
llvm-svn: 226805
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/CodeGen/X86/i1narrowfail.ll | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/i1narrowfail.ll b/llvm/test/CodeGen/X86/i1narrowfail.ll new file mode 100644 index 00000000000..e280f3cff51 --- /dev/null +++ b/llvm/test/CodeGen/X86/i1narrowfail.ll @@ -0,0 +1,10 @@ +; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=knl | FileCheck %s + +; CHECK-LABEL: @foo +; CHECK: orb $16 +define void @foo(i64* %ptr) { + %r11 = load i64* %ptr, align 8 + %r12 = or i64 16, %r11 + store i64 %r12, i64* %ptr, align 8 + ret void +} |