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

Unified Diff: tests_lit/llvm2ice_tests/bitcast.ll

Issue 2404803002: [Subzero][MIPS32] Implement bitcast operation for both 32-bit and 64-bit operands (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Addressed review comments Created 4 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
« no previous file with comments | « src/IceTargetLoweringMIPS32.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests_lit/llvm2ice_tests/bitcast.ll
diff --git a/tests_lit/llvm2ice_tests/bitcast.ll b/tests_lit/llvm2ice_tests/bitcast.ll
index 3f93d49402064dd4bf44aaad801883802ad306ec..7b99783db7889cec2b1e111bbb420f459295d02f 100644
--- a/tests_lit/llvm2ice_tests/bitcast.ll
+++ b/tests_lit/llvm2ice_tests/bitcast.ll
@@ -13,6 +13,16 @@
; RUN: | %if --need=target_ARM32 --command FileCheck %s \
; RUN: --check-prefix=ARM32
+; RUN: %if --need=target_MIPS32 --command %p2i --filetype=asm \
Jim Stichnoth 2016/10/12 06:35:47 These new tests fail in a MINIMAL build because fi
+; RUN: --target mips32 -i %s --args -O2 \
+; RUN: | %if --need=target_MIPS32 --command FileCheck %s \
+; RUN: --check-prefix=MIPS32 --check-prefix=MIPS32-O2
+
+; RUN: %if --need=target_MIPS32 --command %p2i --filetype=asm \
+; RUN: --target mips32 -i %s --args -Om1 \
+; RUN: | %if --need=target_MIPS32 --command FileCheck %s \
+; RUN: --check-prefix=MIPS32 --check-prefix=MIPS32-OM1
+
define internal i32 @cast_f2i(float %f) {
entry:
%v0 = bitcast float %f to i32
@@ -22,6 +32,10 @@ entry:
; CHECK: movd eax
; ARM32-LABEL: cast_f2i
; ARM32: vmov r{{[0-9]+}}, s{{[0-9]+}}
+; MIPS32-LABEL: cast_f2i
+; MIPS32-O2: mfc1 $v0, $f{{[0-9]+}}
+; MIPS32-OM1: swc1
+; MIPS32-OM1: lw
define internal float @cast_i2f(i32 %i) {
entry:
@@ -32,6 +46,10 @@ entry:
; CHECK: fld DWORD PTR
; ARM32-LABEL: cast_i2f
; ARM32: vmov s{{[0-9]+}}, r{{[0-9]+}}
+; MIPS32-LABEL: cast_i2f
+; MIPS32-O2: mtc1 $a0, $f{{[0-9]+}}
+; MIPS32-OM1: sw
+; MIPS32-OM1: lwc1
define internal i64 @cast_d2ll(double %d) {
entry:
@@ -42,6 +60,12 @@ entry:
; CHECK: mov edx
; ARM32-LABEL: cast_d2ll
; ARM32: vmov r{{[0-9]+}}, r{{[0-9]+}}, d{{[0-9]+}}
+; MIPS32-LABEL: cast_d2ll
+; MIPS32-O2: mfc1 $v1, $f{{[0-9]+}}
+; MIPS32-O2: mfc1 $v0, $f{{[0-9]+}}
+; MIPS32-OM1: sdc1
+; MIPS32-OM1: lw
+; MIPS32-OM1: lw
define internal i64 @cast_d2ll_const() {
entry:
@@ -56,6 +80,14 @@ entry:
; ARM32-DAG: movt [[ADDR]], #{{.*_MOVT_}}
; ARM32-DAG: vldr [[DREG:d[0-9]+]], {{\[}}[[ADDR]]{{\]}}
; ARM32: vmov r{{[0-9]+}}, r{{[0-9]+}}, [[DREG]]
+; MIPS32-LABEL: cast_d2ll_const
+; MIPS32: lui {{.*}}, %hi(.L$double$0012345678901234)
+; MIPS32: ldc1 {{.*}}, %lo(.L$double$0012345678901234)({{.*}})
+; MIPS32-O2: mfc1 $v1, $f{{[0-9]+}}
+; MIPS32-O2: mfc1 $v0, $f{{[0-9]+}}
+; MIPS32-OM1: sdc1
+; MIPS32-OM1: lw
+; MIPS32-OM1: lw
define internal double @cast_ll2d(i64 %ll) {
entry:
@@ -66,6 +98,12 @@ entry:
; CHECK: fld QWORD PTR
; ARM32-LABEL: cast_ll2d
; ARM32: vmov d{{[0-9]+}}, r{{[0-9]+}}, r{{[0-9]+}}
+; MIPS32-LABEL: cast_ll2d
+; MIPS32-O2: mtc1 $a0, $f{{[0-9]+}}
+; MIPS32-O2: mtc1 $a1, $f{{[0-9]+}}
+; MIPS32-OM1: sw
+; MIPS32-OM1: sw
+; MIPS32-OM1: ldc1
define internal double @cast_ll2d_const() {
entry:
@@ -81,3 +119,12 @@ entry:
; ARM32-DAG: movt [[REG0:r[0-9]+]], #29646
; ARM32-DAG: movw [[REG1:r[0-9]+]], #2874
; ARM32: vmov d{{[0-9]+}}, [[REG0]], [[REG1]]
+; MIPS32-LABEL: cast_ll2d_const
+; MIPS32: lui {{.*}}, 29646
+; MIPS32: ori {{.*}}, {{.*}}, 12274
+; MIPS32: addiu {{.*}}, $zero, 2874
+; MIPS32-O2: mtc1 {{.*}}, $f{{[0-9]+}}
+; MIPS32-O2: mtc1 {{.*}}, $f{{[0-9]+}}
+; MIPS32-OM1: sw
+; MIPS32-OM1: sw
+; MIPS32-OM1: ldc1
« no previous file with comments | « src/IceTargetLoweringMIPS32.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698