1 ; RUN: llc < %s -mtriple=i686-unknown-linux -enable-misched=false | FileCheck %s
4 define i32 @test1(i8 %x) nounwind readnone {
11 ; CHECK-NEXT: andl {{.*}}224
13 ;; Multiple uses of %x but easily extensible.
14 define i32 @test2(i8 %x) nounwind readnone {
16 %B = zext i8 %A to i32
18 %D = zext i8 %C to i32
27 declare void @use(i32, i8)
29 ;; Multiple uses of %x where we shouldn't extend the load.
30 define void @test3(i8 %x) nounwind readnone {
32 %B = zext i8 %A to i32
33 call void @use(i32 %B, i8 %x)
37 ; CHECK: movzbl {{[0-9]+}}(%esp), [[REGISTER:%e[a-z]{2}]]
38 ; CHECK: subl $8, %esp
39 ; CHECK-NEXT: pushl [[REGISTER]]
40 ; CHECK-NEXT: andl $224, [[REGISTER]]
41 ; CHECK-NEXT: pushl [[REGISTER]]
42 ; CHECK-NEXT: call{{.*}}use