34 lines · plain
1; RUN: llc < %s -verify-machineinstrs -mtriple=i686-linux -mattr=-sse | FileCheck %s2; PR117683 4@ptr = external dso_local global ptr5 6define void @baz() nounwind ssp {7entry:8 %0 = load ptr, ptr @ptr, align 49 %cmp = icmp eq ptr %0, null10 fence seq_cst11 br i1 %cmp, label %if.then, label %if.else12 13; Make sure the fence comes before the comparison, since it14; clobbers EFLAGS.15 16; CHECK: lock orl {{.*}}, (%esp)17; CHECK-NEXT: testl [[REG:%e[a-z]+]], [[REG]]18 19if.then: ; preds = %entry20 tail call void @foo() nounwind21 br label %if.end22 23if.else: ; preds = %entry24 tail call void @bar() nounwind25 br label %if.end26 27if.end: ; preds = %if.else, %if.then28 ret void29}30 31declare void @foo(...)32 33declare void @bar(...)34