1; RUN: llc < %s -mtriple=i686-linux -mattr=-sse | FileCheck %s 2; PR11768 3 4@ptr = external global i8* 5 6define void @baz() nounwind ssp { 7entry: 8 %0 = load i8** @ptr, align 4 9 %cmp = icmp eq i8* %0, null 10 fence seq_cst 11 br i1 %cmp, label %if.then, label %if.else 12 13; Make sure the fence comes before the comparison, since it 14; clobbers EFLAGS. 15 16; CHECK: lock 17; CHECK-NEXT: orl {{.*}}, (%esp) 18; CHECK-NEXT: cmpl $0 19 20if.then: ; preds = %entry 21 tail call void bitcast (void (...)* @foo to void ()*)() nounwind 22 br label %if.end 23 24if.else: ; preds = %entry 25 tail call void bitcast (void (...)* @bar to void ()*)() nounwind 26 br label %if.end 27 28if.end: ; preds = %if.else, %if.then 29 ret void 30} 31 32declare void @foo(...) 33 34declare void @bar(...) 35