Shrink Thumb2 movcc instructions.
[llvm/avr.git] / test / CodeGen / Generic / 2006-04-26-SetCCAnd.ll
blobb99aa98fe9e87796f68184f97f09ff45736e61c6
1 ; RUN: llvm-as < %s | llc
2 ; PR748
3 @G = external global i16                ; <i16*> [#uses=1]
5 define void @OmNewObjHdr() {
6 entry:
7         br i1 false, label %endif.4, label %then.0
9 then.0:         ; preds = %entry
10         ret void
12 endif.4:                ; preds = %entry
13         br i1 false, label %else.3, label %shortcirc_next.3
15 shortcirc_next.3:               ; preds = %endif.4
16         ret void
18 else.3:         ; preds = %endif.4
19         switch i32 0, label %endif.10 [
20                  i32 5001, label %then.10
21                  i32 -5008, label %then.10
22         ]
24 then.10:                ; preds = %else.3, %else.3
25         %tmp.112 = load i16* null               ; <i16> [#uses=2]
26         %tmp.113 = load i16* @G         ; <i16> [#uses=2]
27         %tmp.114 = icmp ugt i16 %tmp.112, %tmp.113              ; <i1> [#uses=1]
28         %tmp.120 = icmp ult i16 %tmp.112, %tmp.113              ; <i1> [#uses=1]
29         %bothcond = and i1 %tmp.114, %tmp.120           ; <i1> [#uses=1]
30         br i1 %bothcond, label %else.4, label %then.11
32 then.11:                ; preds = %then.10
33         ret void
35 else.4:         ; preds = %then.10
36         ret void
38 endif.10:               ; preds = %else.3
39         ret void