| Benjamin Kramer | 258c7fa | 2009-10-12 09:31:55 +0000 | [diff] [blame] | 1 | ; RUN: llc -march=msp430 < %s | FileCheck %s | 
| Anton Korobeynikov | 415c3dc | 2009-10-11 23:03:28 +0000 | [diff] [blame] | 2 | target datalayout = "e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8" | 
|  | 3 | target triple = "msp430-generic-generic" | 
|  | 4 |  | 
|  | 5 | @foo = common global i8 0, align 1 | 
|  | 6 | @bar = common global i8 0, align 1 | 
|  | 7 |  | 
| Anton Korobeynikov | 4b38ce9 | 2009-10-11 23:03:53 +0000 | [diff] [blame] | 8 | define void @mov() nounwind { | 
|  | 9 | ; CHECK: mov: | 
|  | 10 | ; CHECK: mov.b	&bar, &foo | 
|  | 11 | %1 = load i8* @bar | 
|  | 12 | store i8 %1, i8* @foo | 
|  | 13 | ret void | 
|  | 14 | } | 
|  | 15 |  | 
| Anton Korobeynikov | 415c3dc | 2009-10-11 23:03:28 +0000 | [diff] [blame] | 16 | define void @add() nounwind { | 
|  | 17 | ; CHECK: add: | 
|  | 18 | ; CHECK: add.b	&bar, &foo | 
|  | 19 | %1 = load i8* @bar | 
|  | 20 | %2 = load i8* @foo | 
|  | 21 | %3 = add i8 %2, %1 | 
|  | 22 | store i8 %3, i8* @foo | 
|  | 23 | ret void | 
|  | 24 | } | 
|  | 25 |  | 
|  | 26 | define void @and() nounwind { | 
|  | 27 | ; CHECK: and: | 
|  | 28 | ; CHECK: and.b	&bar, &foo | 
|  | 29 | %1 = load i8* @bar | 
|  | 30 | %2 = load i8* @foo | 
|  | 31 | %3 = and i8 %2, %1 | 
|  | 32 | store i8 %3, i8* @foo | 
|  | 33 | ret void | 
|  | 34 | } | 
|  | 35 |  | 
|  | 36 | define void @bis() nounwind { | 
|  | 37 | ; CHECK: bis: | 
|  | 38 | ; CHECK: bis.b	&bar, &foo | 
|  | 39 | %1 = load i8* @bar | 
|  | 40 | %2 = load i8* @foo | 
|  | 41 | %3 = or i8 %2, %1 | 
|  | 42 | store i8 %3, i8* @foo | 
|  | 43 | ret void | 
|  | 44 | } | 
|  | 45 |  | 
|  | 46 | define void @xor() nounwind { | 
|  | 47 | ; CHECK: xor: | 
|  | 48 | ; CHECK: xor.b	&bar, &foo | 
|  | 49 | %1 = load i8* @bar | 
|  | 50 | %2 = load i8* @foo | 
|  | 51 | %3 = xor i8 %2, %1 | 
|  | 52 | store i8 %3, i8* @foo | 
|  | 53 | ret void | 
|  | 54 | } | 
|  | 55 |  |