[MIParser] Set RegClassOrRegBank during instruction parsing
[llvm-complete.git] / test / CodeGen / BPF / alu8.ll
blob87ba62be810d0d28e5e8bd2657056022405f7956
1 ; RUN: llc -march=bpfel -show-mc-encoding < %s | FileCheck %s
3 define i8 @mov(i8 %a, i8 %b) nounwind {
4 ; CHECK-LABEL: mov:
5 ; CHECK: r0 = r2 # encoding: [0xbf,0x20,0x00,0x00,0x00,0x00,0x00,0x00]
6 ; CHECK: exit # encoding: [0x95,0x00,0x00,0x00,0x00,0x00,0x00,0x00]
7   ret i8 %b
10 define i8 @add(i8 %a, i8 %b) nounwind {
11 ; CHECK-LABEL: add:
12 ; CHECK: r0 = r1 # encoding: [0xbf,0x10,0x00,0x00,0x00,0x00,0x00,0x00]
13 ; CHECK: r0 += r2 # encoding: [0x0f,0x20,0x00,0x00,0x00,0x00,0x00,0x00]
14   %1 = add i8 %a, %b
15   ret i8 %1
18 define i8 @and(i8 %a, i8 %b) nounwind {
19 ; CHECK-LABEL: and:
20 ; CHECK: r0 &= r2 # encoding: [0x5f,0x20,0x00,0x00,0x00,0x00,0x00,0x00]
21   %1 = and i8 %a, %b
22   ret i8 %1
25 define i8 @bis(i8 %a, i8 %b) nounwind {
26 ; CHECK-LABEL: bis:
27 ; CHECK: r0 |= r2 # encoding: [0x4f,0x20,0x00,0x00,0x00,0x00,0x00,0x00]
28   %1 = or i8 %a, %b
29   ret i8 %1
32 define i8 @xorand(i8 %a, i8 %b) nounwind {
33 ; CHECK-LABEL: xorand:
34 ; CHECK: r2 ^= -1 # encoding: [0xa7,0x02,0x00,0x00,0xff,0xff,0xff,0xff]
35   %1 = xor i8 %b, -1
36   %2 = and i8 %a, %1
37   ret i8 %2
40 define i8 @xor(i8 %a, i8 %b) nounwind {
41 ; CHECK-LABEL: xor:
42 ; CHECK: r0 ^= r2 # encoding: [0xaf,0x20,0x00,0x00,0x00,0x00,0x00,0x00]
43   %1 = xor i8 %a, %b
44   ret i8 %1