[AArch64,ELF] Restrict MOVZ/MOVK to non-PIC large code model (#70178)
[llvm-project.git] / llvm / test / CodeGen / X86 / 2007-11-07-MulBy4.ll
blobde8aea85896ce646e5ff3464e6c61960e8940191
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=i686-- | FileCheck %s
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 }
9 define 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
23 entry:
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
28 cond_true:              ; preds = %entry
29         ret i32 0
31 cond_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
36 cond_true89:            ; preds = %cond_next79
37         ret i32 0
39 cond_next130:           ; preds = %cond_next79
40         %tmp173 = icmp eq i32 0, 0              ; <i1> [#uses=1]
41         br i1 %tmp173, label %cond_next201, label %cond_true176
43 cond_true176:           ; preds = %cond_next130
44         ret i32 0
46 cond_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         ]
75 bb552:          ; preds = %cond_next201
76         ret i32 0
78 bb740:          ; preds = %cond_next201
79         ret i32 0
81 bb1266:         ; preds = %cond_next201
82         ret i32 0
84 bb1447:         ; preds = %cond_next201, %cond_next201
85         ret i32 0
87 bb1737:         ; preds = %cond_next201, %cond_next201
88         ret i32 0
90 cond_true1984:          ; preds = %cond_next201
91         ret i32 0
93 bb2162:         ; preds = %cond_next201
94         ret i32 0
96 bb4883:         ; preds = %cond_next201
97         ret i32 0
99 bb5018:         ; preds = %cond_next201
100         ret i32 0
102 bb5075:         ; preds = %cond_next201
103         ret i32 0
105 bb5136:         ; preds = %cond_next201
106         ret i32 0
108 bb5395:         ; preds = %cond_next201
109         ret i32 0
111 bb5452:         ; preds = %cond_next201
112         ret i32 0
114 cond_true5534:          ; preds = %cond_next201, %cond_next201
115         ret i32 0
117 cond_next5871:          ; preds = %cond_next201
118         ret i32 0
120 bb6039:         ; preds = %cond_next201
121         ret i32 0
123 bb6181:         ; preds = %cond_next201
124         ret i32 0
126 bb6323:         ; preds = %cond_next201
127         ret i32 0
129 bb6463:         ; preds = %cond_next201
130         ret i32 0
132 bb6605:         ; preds = %cond_next201
133         ret i32 0
135 bb6746:         ; preds = %cond_next201
136         ret i32 0
138 bb12899:                ; preds = %cond_next201
139         ret i32 0
141 bb19955:                ; preds = %cond_next201
142         ret i32 0