-; RUN: llc < %s -march=x86 | grep and
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
+; RUN: llc < %s -mtriple=i386-unknown-unknown | FileCheck %s
+
define i32 @test(i1 %A) {
- %B = zext i1 %A to i32 ; <i32> [#uses=1]
- %C = sub i32 0, %B ; <i32> [#uses=1]
- %D = and i32 %C, 255 ; <i32> [#uses=1]
- ret i32 %D
+; CHECK-LABEL: test:
+; CHECK: # BB#0:
+; CHECK-NEXT: movzbl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: andl $1, %eax
+; CHECK-NEXT: negl %eax
+; CHECK-NEXT: movzbl %al, %eax
+; CHECK-NEXT: retl
+;
+ %B = zext i1 %A to i32
+ %C = sub i32 0, %B
+ %D = and i32 %C, 255
+ ret i32 %D
}