Mercurial > hg > CbC > CbC_llvm
comparison test/CodeGen/X86/memcmp.ll @ 120:1172e4bd9c6f
update 4.0.0
author | mir3636 |
---|---|
date | Fri, 25 Nov 2016 19:14:25 +0900 |
parents | afa8332a0e37 |
children | 803732b1fca8 |
comparison
equal
deleted
inserted
replaced
101:34baf5011add | 120:1172e4bd9c6f |
---|---|
21 | 21 |
22 return: ; preds = %entry | 22 return: ; preds = %entry |
23 ret void | 23 ret void |
24 ; CHECK-LABEL: memcmp2: | 24 ; CHECK-LABEL: memcmp2: |
25 ; CHECK: movzwl | 25 ; CHECK: movzwl |
26 ; CHECK-NEXT: movzwl | 26 ; CHECK-NEXT: cmpw |
27 ; CHECK-NEXT: cmpl | |
28 ; NOBUILTIN-LABEL: memcmp2: | 27 ; NOBUILTIN-LABEL: memcmp2: |
29 ; NOBUILTIN: callq | 28 ; NOBUILTIN: callq |
30 } | 29 } |
31 | 30 |
32 define void @memcmp2a(i8* %X, i32* nocapture %P) nounwind { | 31 define void @memcmp2a(i8* %X, i32* nocapture %P) nounwind { |
44 ; CHECK-LABEL: memcmp2a: | 43 ; CHECK-LABEL: memcmp2a: |
45 ; CHECK: movzwl | 44 ; CHECK: movzwl |
46 ; CHECK-NEXT: cmpl $28527, | 45 ; CHECK-NEXT: cmpl $28527, |
47 } | 46 } |
48 | 47 |
48 define void @memcmp2nb(i8* %X, i8* %Y, i32* nocapture %P) nounwind { | |
49 entry: | |
50 %0 = tail call i32 (...) @memcmp(i8* %X, i8* %Y, i32 2) nounwind nobuiltin ; <i32> [#uses=1] | |
51 %1 = icmp eq i32 %0, 0 ; <i1> [#uses=1] | |
52 br i1 %1, label %return, label %bb | |
53 | |
54 bb: ; preds = %entry | |
55 store i32 4, i32* %P, align 4 | |
56 ret void | |
57 | |
58 return: ; preds = %entry | |
59 ret void | |
60 ; CHECK-LABEL: memcmp2nb: | |
61 ; CHECK: callq | |
62 } | |
49 | 63 |
50 define void @memcmp4(i8* %X, i8* %Y, i32* nocapture %P) nounwind { | 64 define void @memcmp4(i8* %X, i8* %Y, i32* nocapture %P) nounwind { |
51 entry: | 65 entry: |
52 %0 = tail call i32 (...) @memcmp(i8* %X, i8* %Y, i32 4) nounwind ; <i32> [#uses=1] | 66 %0 = tail call i32 (...) @memcmp(i8* %X, i8* %Y, i32 4) nounwind ; <i32> [#uses=1] |
53 %1 = icmp eq i32 %0, 0 ; <i1> [#uses=1] | 67 %1 = icmp eq i32 %0, 0 ; <i1> [#uses=1] |