xref: /llvm-project/llvm/test/CodeGen/X86/2007-11-07-MulBy4.ll (revision 2f448bf509432c1a19ec46ab8cbc7353c03c6280)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc < %s -mtriple=i686-- | FileCheck %s
3
4	%struct.eebb = type { ptr, ptr }
5	%struct.hf = type { ptr, ptr, ptr, i32, i32, ptr, i32, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, %struct.ri, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [30 x i32], %struct.eebb, i32, ptr }
6	%struct.foo_data = type { i32, i32, i32, ptr, i32, i32, ptr, ptr, i32, i32, i32, i32, i32, i32, i32, i32, ptr, ptr, ptr, ptr, ptr, i32, i32, i32, ptr, ptr, ptr }
7	%struct.ri = type { ptr, i32, ptr, ptr, ptr, i32 }
8
9define fastcc i32 @foo(ptr %eptr, ptr %ecode, ptr %md, i32 %ims) {
10; CHECK-LABEL: foo:
11; CHECK:       # %bb.0: # %entry
12; CHECK-NEXT:    cmpl $0, 0
13; CHECK-NEXT:    je .LBB0_3
14; CHECK-NEXT:  # %bb.1: # %cond_next79
15; CHECK-NEXT:    cmpl $0, 0
16; CHECK-NEXT:    je .LBB0_3
17; CHECK-NEXT:  # %bb.2: # %cond_next130
18; CHECK-NEXT:    movb $1, %al
19; CHECK-NEXT:    testb %al, %al
20; CHECK-NEXT:  .LBB0_3: # %cond_true89
21; CHECK-NEXT:    xorl %eax, %eax
22; CHECK-NEXT:    retl
23entry:
24	%tmp36 = load i32, ptr null, align 4		; <i32> [#uses=1]
25	%tmp37 = icmp ult i32 0, %tmp36		; <i1> [#uses=1]
26	br i1 %tmp37, label %cond_next79, label %cond_true
27
28cond_true:		; preds = %entry
29	ret i32 0
30
31cond_next79:		; preds = %entry
32	%tmp85 = load i32, ptr null, align 4		; <i32> [#uses=1]
33	%tmp86 = icmp ult i32 0, %tmp85		; <i1> [#uses=1]
34	br i1 %tmp86, label %cond_next130, label %cond_true89
35
36cond_true89:		; preds = %cond_next79
37	ret i32 0
38
39cond_next130:		; preds = %cond_next79
40	%tmp173 = icmp eq i32 0, 0		; <i1> [#uses=1]
41	br i1 %tmp173, label %cond_next201, label %cond_true176
42
43cond_true176:		; preds = %cond_next130
44	ret i32 0
45
46cond_next201:		; preds = %cond_next130
47	switch i32 0, label %bb19955 [
48		 i32 0, label %bb1266
49		 i32 1, label %bb5018
50		 i32 2, label %bb5075
51		 i32 3, label %cond_true5534
52		 i32 4, label %cond_true5534
53		 i32 5, label %bb6039
54		 i32 6, label %bb6181
55		 i32 7, label %bb6323
56		 i32 8, label %bb6463
57		 i32 9, label %bb6605
58		 i32 10, label %bb6746
59		 i32 11, label %cond_next5871
60		 i32 16, label %bb5452
61		 i32 17, label %bb5395
62		 i32 19, label %bb4883
63		 i32 20, label %bb5136
64		 i32 23, label %bb12899
65		 i32 64, label %bb2162
66		 i32 69, label %bb1447
67		 i32 70, label %bb1737
68		 i32 71, label %bb1447
69		 i32 72, label %bb1737
70		 i32 73, label %cond_true1984
71		 i32 75, label %bb740
72		 i32 80, label %bb552
73	]
74
75bb552:		; preds = %cond_next201
76	ret i32 0
77
78bb740:		; preds = %cond_next201
79	ret i32 0
80
81bb1266:		; preds = %cond_next201
82	ret i32 0
83
84bb1447:		; preds = %cond_next201, %cond_next201
85	ret i32 0
86
87bb1737:		; preds = %cond_next201, %cond_next201
88	ret i32 0
89
90cond_true1984:		; preds = %cond_next201
91	ret i32 0
92
93bb2162:		; preds = %cond_next201
94	ret i32 0
95
96bb4883:		; preds = %cond_next201
97	ret i32 0
98
99bb5018:		; preds = %cond_next201
100	ret i32 0
101
102bb5075:		; preds = %cond_next201
103	ret i32 0
104
105bb5136:		; preds = %cond_next201
106	ret i32 0
107
108bb5395:		; preds = %cond_next201
109	ret i32 0
110
111bb5452:		; preds = %cond_next201
112	ret i32 0
113
114cond_true5534:		; preds = %cond_next201, %cond_next201
115	ret i32 0
116
117cond_next5871:		; preds = %cond_next201
118	ret i32 0
119
120bb6039:		; preds = %cond_next201
121	ret i32 0
122
123bb6181:		; preds = %cond_next201
124	ret i32 0
125
126bb6323:		; preds = %cond_next201
127	ret i32 0
128
129bb6463:		; preds = %cond_next201
130	ret i32 0
131
132bb6605:		; preds = %cond_next201
133	ret i32 0
134
135bb6746:		; preds = %cond_next201
136	ret i32 0
137
138bb12899:		; preds = %cond_next201
139	ret i32 0
140
141bb19955:		; preds = %cond_next201
142	ret i32 0
143}
144