aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/MSP430/Inst16rm.ll
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2009-11-08 15:33:12 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2009-11-08 15:33:12 +0000
commitf0b47b7f6d417692bfda507e4b4a16c12e036ee9 (patch)
treedfb1b3c18571c95b76c622c4775435f53e562057 /test/CodeGen/MSP430/Inst16rm.ll
parent830fe7bc2dd35b77ecff6e8ae27e768e531536b6 (diff)
downloadexternal_llvm-f0b47b7f6d417692bfda507e4b4a16c12e036ee9.zip
external_llvm-f0b47b7f6d417692bfda507e4b4a16c12e036ee9.tar.gz
external_llvm-f0b47b7f6d417692bfda507e4b4a16c12e036ee9.tar.bz2
Add and-not (bic) patterns. Based heavily on patch by Brian Lucas!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86471 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/MSP430/Inst16rm.ll')
-rw-r--r--test/CodeGen/MSP430/Inst16rm.ll10
1 files changed, 9 insertions, 1 deletions
diff --git a/test/CodeGen/MSP430/Inst16rm.ll b/test/CodeGen/MSP430/Inst16rm.ll
index d0cb0d1..02e89c7 100644
--- a/test/CodeGen/MSP430/Inst16rm.ll
+++ b/test/CodeGen/MSP430/Inst16rm.ll
@@ -19,7 +19,6 @@ define i16 @and(i16 %a) nounwind {
ret i16 %2
}
-
define i16 @bis(i16 %a) nounwind {
; CHECK: bis:
; CHECK: bis.w &foo, r15
@@ -28,6 +27,15 @@ define i16 @bis(i16 %a) nounwind {
ret i16 %2
}
+define i16 @bic(i16 %a) nounwind {
+; CHECK: bic:
+; CHECK: bic.w &foo, r15
+ %1 = load i16* @foo
+ %2 = xor i16 %1, -1
+ %3 = and i16 %a, %2
+ ret i16 %3
+}
+
define i16 @xor(i16 %a) nounwind {
; CHECK: xor:
; CHECK: xor.w &foo, r15