blob: 2f1ba5b4f13160c53785f13d7d9a60812a56a5e4 [file] [log] [blame]
Benjamin Kramer90869452009-10-12 09:31:55 +00001; RUN: llc -march=msp430 < %s | FileCheck %s
Anton Korobeynikovaca471f2009-10-11 23:02:38 +00002target datalayout = "e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8"
3target triple = "msp430-generic-generic"
4
5define i16 @mov(i16 %a, i16 %b) nounwind {
6; CHECK: mov:
7; CHECK: mov.w r14, r15
8 ret i16 %b
9}
10
11define i16 @add(i16 %a, i16 %b) nounwind {
12; CHECK: add:
13; CHECK: add.w r14, r15
14 %1 = add i16 %a, %b
15 ret i16 %1
16}
17
18define i16 @and(i16 %a, i16 %b) nounwind {
19; CHECK: and:
20; CHECK: and.w r14, r15
21 %1 = and i16 %a, %b
22 ret i16 %1
23}
24
25define i16 @bis(i16 %a, i16 %b) nounwind {
26; CHECK: bis:
27; CHECK: bis.w r14, r15
28 %1 = or i16 %a, %b
29 ret i16 %1
30}
31
Anton Korobeynikovf0b47b72009-11-08 15:33:12 +000032define i16 @bic(i16 %a, i16 %b) nounwind {
33; CHECK: bic:
34; CHECK: bic.w r14, r15
35 %1 = xor i16 %b, -1
36 %2 = and i16 %a, %1
37 ret i16 %2
38}
39
Anton Korobeynikovaca471f2009-10-11 23:02:38 +000040define i16 @xor(i16 %a, i16 %b) nounwind {
41; CHECK: xor:
42; CHECK: xor.w r14, r15
43 %1 = xor i16 %a, %b
44 ret i16 %1
45}