Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(118)

Unified Diff: tests_lit/llvm2ice_tests/8bit.pnacl.ll

Issue 647193003: emitIAS for store and indirect calls. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: stuff Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tests_lit/llvm2ice_tests/8bit.pnacl.ll
diff --git a/tests_lit/llvm2ice_tests/8bit.pnacl.ll b/tests_lit/llvm2ice_tests/8bit.pnacl.ll
index 6e98f0e83a507f2161efd0733483db1ef1df8b4b..38c24410bab76d2480da40a61f436471ae9326aa 100644
--- a/tests_lit/llvm2ice_tests/8bit.pnacl.ll
+++ b/tests_lit/llvm2ice_tests/8bit.pnacl.ll
@@ -276,6 +276,20 @@ entry:
; CHECK-LABEL: icmp8BitMemSwapped
; CHECK: cmp {{[abcd]l|byte ptr}}
+define internal i32 @selectI8Var(i32 %a, i32 %b) {
+entry:
+ %a_8 = trunc i32 %a to i8
+ %b_8 = trunc i32 %b to i8
+ %cmp = icmp slt i8 %a_8, %b_8
+ %ret = select i1 %cmp, i8 %a_8, i8 %b_8
+ %ret_ext = zext i8 %ret to i32
+ ret i32 %ret_ext
+}
+; CHECK-LABEL: selectI8Var
+; CHECK: cmp
+; CHECK: jl
+; CHECK: mov {{[a-d]l}}
+
define internal i32 @testPhi8(i32 %arg, i32 %arg2, i32 %arg3, i32 %arg4, i32 %arg5, i32 %arg6, i32 %arg7, i32 %arg8, i32 %arg9, i32 %arg10) {
entry:
%trunc = trunc i32 %arg to i8
@@ -315,5 +329,46 @@ target:
; CHECK-DAG: mov {{.*}}, byte ptr
; CHECK-DAG: mov byte ptr {{.*}}
+@global8 = internal global [1 x i8] c"\01", align 4
+
+define i32 @load_i8(i32 %addr_arg) {
+entry:
+ %addr = inttoptr i32 %addr_arg to i8*
+ %ret = load i8* %addr, align 1
+ %ret_ext = zext i8 %ret to i32
+ ret i32 %ret_ext
+}
+; CHECK-LABEL: load_i8
+; CHECK: mov {{[a-d]l}}, byte ptr
+
+define i32 @load_i8_global(i32 %addr_arg) {
+entry:
+ %addr = bitcast [1 x i8]* @global8 to i8*
+ %ret = load i8* %addr, align 1
+ %ret_ext = zext i8 %ret to i32
+ ret i32 %ret_ext
+}
+; CHECK-LABEL: load_i8_global
+; CHECK: mov {{[a-d]l}}, byte ptr
+
+define void @store_i8(i32 %addr_arg, i32 %val) {
+entry:
+ %val_trunc = trunc i32 %val to i8
+ %addr = inttoptr i32 %addr_arg to i8*
+ store i8 %val_trunc, i8* %addr, align 1
+ ret void
+}
+; CHECK-LABEL: store_i8
+; CHECK: mov byte ptr {{.*}}, {{[a-d]l}}
+
+define void @store_i8_const(i32 %addr_arg) {
+entry:
+ %addr = inttoptr i32 %addr_arg to i8*
+ store i8 123, i8* %addr, align 1
+ ret void
+}
+; CHECK-LABEL: store_i8_const
+; CHECK: mov byte ptr {{.*}}, 123
+
; ERRORS-NOT: ICE translation error
; DUMP-NOT: SZ

Powered by Google App Engine
This is Rietveld 408576698