[ARM] More MVE compare vector splat combines for ANDs
[llvm-complete.git] / test / CodeGen / PowerPC / 2008-03-17-RegScavengerCrash.ll
blob81aae48de18f83a8fcb29e7301e83c775e55b0e5
1 ; RUN: llc -verify-machineinstrs < %s -mtriple=ppc32--
3         %struct._cpp_strbuf = type { i8*, i32, i32 }
4         %struct.cpp_string = type { i32, i8* }
6 declare fastcc void @emit_numeric_escape(i32, i32, %struct._cpp_strbuf*, i32) nounwind 
8 define i32 @cpp_interpret_string(i32 %pfile, %struct.cpp_string* %from, i32 %wide) nounwind  {
9 entry:
10         %tmp61 = load i32, i32* null, align 4           ; <i32> [#uses=1]
11         %toBool = icmp eq i32 %wide, 0          ; <i1> [#uses=2]
12         %iftmp.87.0 = select i1 %toBool, i32 %tmp61, i32 0              ; <i32> [#uses=2]
13         %tmp69 = icmp ult i32 %iftmp.87.0, 33           ; <i1> [#uses=1]
14         %min = select i1 %tmp69, i32 %iftmp.87.0, i32 32                ; <i32> [#uses=1]
15         %tmp71 = icmp ugt i32 %min, 31          ; <i1> [#uses=1]
16         br i1 %tmp71, label %bb79, label %bb75
17 bb75:           ; preds = %entry
18         ret i32 0
19 bb79:           ; preds = %entry
20         br i1 %toBool, label %bb103, label %bb94
21 bb94:           ; preds = %bb79
22         br i1 false, label %bb729, label %bb130.preheader
23 bb103:          ; preds = %bb79
24         ret i32 0
25 bb130.preheader:                ; preds = %bb94
26         %tmp134 = getelementptr %struct.cpp_string, %struct.cpp_string* %from, i32 0, i32 1             ; <i8**> [#uses=0]
27         ret i32 0
28 bb729:          ; preds = %bb94
29         call fastcc void @emit_numeric_escape( i32 %pfile, i32 0, %struct._cpp_strbuf* null, i32 %wide ) nounwind 
30         ret i32 1