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

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

Issue 1359193003: Subzero. Enables (most) crosstests for ARM32. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Addresses comments. Created 5 years, 3 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
« no previous file with comments | « src/IceTargetLoweringARM32.cpp ('k') | tests_lit/llvm2ice_tests/bitcast.ll » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests_lit/llvm2ice_tests/64bit.pnacl.ll
diff --git a/tests_lit/llvm2ice_tests/64bit.pnacl.ll b/tests_lit/llvm2ice_tests/64bit.pnacl.ll
index cc32a87c437638886651aa9a2d84c3f8a8598119..f6c30fa21990db3a2d898f8fb1872ef32294feec 100644
--- a/tests_lit/llvm2ice_tests/64bit.pnacl.ll
+++ b/tests_lit/llvm2ice_tests/64bit.pnacl.ll
@@ -91,13 +91,11 @@ entry:
; ARM32-LABEL: pass64BitArg
; ARM32: sub sp, {{.*}} #16
-; ARM32: str {{.*}}, [sp, #4]
; ARM32: str {{.*}}, [sp]
; ARM32: movw r2, #123
; ARM32: bl {{.*}} ignore64BitArgNoInline
; ARM32: add sp, {{.*}} #16
; ARM32: sub sp, {{.*}} #16
-; ARM32: str {{.*}}, [sp, #4]
; ARM32: str {{.*}}, [sp]
; ARM32: {{mov|ldr}} r0
; ARM32: {{mov|ldr}} r1
@@ -105,7 +103,6 @@ entry:
; ARM32: bl {{.*}} ignore64BitArgNoInline
; ARM32: add sp, {{.*}} #16
; ARM32: sub sp, {{.*}} #16
-; ARM32: str {{.*}}, [sp, #4]
; ARM32: str {{.*}}, [sp]
; ARM32: {{mov|ldr}} r0
; ARM32: {{mov|ldr}} r1
@@ -147,9 +144,9 @@ entry:
; ARM32-LABEL: pass64BitConstArg
; ARM32: sub sp, {{.*}} #16
; ARM32: movw [[REG1:r.*]], {{.*}} ; 0xbeef
-; ARM32: movt [[REG1:r.*]], {{.*}} ; 0xdead
+; ARM32: movt [[REG1]], {{.*}} ; 0xdead
; ARM32: movw [[REG2:r.*]], {{.*}} ; 0x5678
-; ARM32: movt [[REG2:r.*]], {{.*}} ; 0x1234
+; ARM32: movt [[REG2]], {{.*}} ; 0x1234
; ARM32: str [[REG1]], [sp, #4]
; ARM32: str [[REG2]], [sp]
; ARM32: {{mov|ldr}} r0
@@ -438,12 +435,13 @@ entry:
; OPTM1: je
; ARM32-LABEL: shl64BitSigned
-; ARM32: sub [[REG3:r.*]], [[REG2:r.*]], #32
-; ARM32: lsl [[REG1:r.*]], {{r.*}}, [[REG2]]
-; ARM32: orr [[REG1]], [[REG1]], [[REG0:r.*]], lsl [[REG3]]
-; ARM32: rsb [[REG4:r.*]], [[REG2]], #32
-; ARM32: orr [[REG1]], [[REG1]], [[REG0]], lsr [[REG4]]
-; ARM32: lsl {{.*}}, [[REG0]], [[REG2]]
+; ARM32: rsb [[T0:r[0-9]+]], r2, #32
+; ARM32: lsr [[T1:r[0-9]+]], r0, [[T0]]
+; ARM32: orr [[T2:r[0-9]+]], [[T1]], r1, lsl r2
+; ARM32: sub [[T3:r[0-9]+]], r2, #32
+; ARM32: cmp [[T3]], #0
+; ARM32: lslge [[T2]], r0, [[T3]]
+; ARM32: lsl r{{[0-9]+}}, r0, r2
define internal i32 @shl64BitSignedTrunc(i64 %a, i64 %b) {
entry:
@@ -484,11 +482,12 @@ entry:
; OPTM1: je
; ARM32-LABEL: shl64BitUnsigned
-; ARM32: sub
-; ARM32: lsl
-; ARM32: orr
; ARM32: rsb
+; ARM32: lsr
; ARM32: orr
+; ARM32: sub
+; ARM32: cmp
+; ARM32: lslge
; ARM32: lsl
define internal i64 @shr64BitSigned(i64 %a, i64 %b) {
@@ -511,12 +510,13 @@ entry:
; OPTM1: sar {{.*}},0x1f
; ARM32-LABEL: shr64BitSigned
-; ARM32: rsb
-; ARM32: lsr
-; ARM32: orr
-; ARM32: subs
-; ARM32: orrpl
-; ARM32: asr
+; ARM32: lsr [[T0:r[0-9]+]], r0, r2
+; ARM32: rsb [[T1:r[0-9]+]], r2, #32
+; ARM32: orr r0, [[T0]], r1, lsl [[T1]]
+; ARM32: sub [[T2:r[0-9]+]], r2, #32
+; ARM32: cmp [[T2]], #0
+; ARM32: asrge r0, r1, [[T2]]
+; ARM32: asr r{{[0-9]+}}, r1, r2
define internal i32 @shr64BitSignedTrunc(i64 %a, i64 %b) {
entry:
@@ -538,11 +538,12 @@ entry:
; OPTM1: sar {{.*}},0x1f
; ARM32-LABEL: shr64BitSignedTrunc
-; ARM32: rsb
; ARM32: lsr
+; ARM32: rsb
; ARM32: orr
-; ARM32: subs
-; ARM32: orrpl
+; ARM32: sub
+; ARM32: cmp
+; ARM32: asrge
define internal i64 @shr64BitUnsigned(i64 %a, i64 %b) {
entry:
@@ -562,11 +563,12 @@ entry:
; OPTM1: je
; ARM32-LABEL: shr64BitUnsigned
-; ARM32: rsb
; ARM32: lsr
+; ARM32: rsb
; ARM32: orr
; ARM32: sub
-; ARM32: orr
+; ARM32: cmp
+; ARM32: lsrge
; ARM32: lsr
define internal i32 @shr64BitUnsignedTrunc(i64 %a, i64 %b) {
@@ -588,11 +590,12 @@ entry:
; OPTM1: je
; ARM32-LABEL: shr64BitUnsignedTrunc
-; ARM32: rsb
; ARM32: lsr
+; ARM32: rsb
; ARM32: orr
; ARM32: sub
-; ARM32: orr
+; ARM32: cmp
+; ARM32: lsrge
define internal i64 @and64BitSigned(i64 %a, i64 %b) {
entry:
« no previous file with comments | « src/IceTargetLoweringARM32.cpp ('k') | tests_lit/llvm2ice_tests/bitcast.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698