[ARM] Fixup the creation of VPT blocks
[llvm-core.git] / test / CodeGen / Mips / micromips-sizereduction / micromips-lbu16-lhu16-sb16-sh16.ll
blob804ea1e5c4388f3b2e5ff31b6877812fd563dda4
1 ; RUN: llc -march=mipsel -mcpu=mips32r2 -mattr=+micromips -verify-machineinstrs < %s | FileCheck %s
3 define void @f1(i8* %p) {
4 entry:
5 ; CHECK-LABEL: f1:
6 ; CHECK: lbu16
7 ; CHECK: sb16
8   %0 = load i8, i8* %p, align 4
9   %a = zext i8 %0 to i32
10   %and = and i32 %a, 1
11   %cmp = icmp eq i32 %and, 0
12   br i1 %cmp, label %if.then, label %if.end
14 if.then:
15   store i8 0, i8* %p, align 1
16   br label %if.end
18 if.end:
19   ret void
22 define void @f2(i16* %p) {
23 entry:
24 ; CHECK-LABEL: f2:
25 ; CHECK: lhu16
26 ; CHECK: sh16
27   %0 = load i16, i16* %p, align 2
28   %a = zext i16 %0 to i32
29   %and = and i32 %a, 2
30   %cmp = icmp eq i32 %and, 0
31   br i1 %cmp, label %if.then, label %if.end
33 if.then:
34   store i16 0, i16* %p, align 2
35   br label %if.end
37 if.end:
38   ret void