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

Side by Side Diff: tests_lit/llvm2ice_tests/nacl-other-intrinsics.ll

Issue 2354293002: Subzero, MIPS32: Intrinsic call Ctlz for i32 (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Created 4 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 unified diff | Download patch
OLDNEW
1 ; This tests the NaCl intrinsics not related to atomic operations. 1 ; This tests the NaCl intrinsics not related to atomic operations.
2 2
3 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ 3 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \
4 ; RUN: --target x8632 --sandbox -i %s --args -O2 \ 4 ; RUN: --target x8632 --sandbox -i %s --args -O2 \
5 ; RUN: -allow-externally-defined-symbols \ 5 ; RUN: -allow-externally-defined-symbols \
6 ; RUN: | %if --need=target_X8632 --command FileCheck %s 6 ; RUN: | %if --need=target_X8632 --command FileCheck %s
7 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ 7 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \
8 ; RUN: --target x8632 --sandbox -i %s --args -Om1 \ 8 ; RUN: --target x8632 --sandbox -i %s --args -Om1 \
9 ; RUN: -allow-externally-defined-symbols \ 9 ; RUN: -allow-externally-defined-symbols \
10 ; RUN: | %if --need=target_X8632 --command FileCheck %s 10 ; RUN: | %if --need=target_X8632 --command FileCheck %s
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 ; CHECK-LABEL: test_ctlz_32 396 ; CHECK-LABEL: test_ctlz_32
397 ; TODO(jvoung): If we detect that LZCNT is supported, then use that 397 ; TODO(jvoung): If we detect that LZCNT is supported, then use that
398 ; and avoid the need to do the cmovne and xor stuff to guarantee that 398 ; and avoid the need to do the cmovne and xor stuff to guarantee that
399 ; the result is well-defined w/ input == 0. 399 ; the result is well-defined w/ input == 0.
400 ; CHECK: bsr [[REG_TMP:e.*]],{{.*}} 400 ; CHECK: bsr [[REG_TMP:e.*]],{{.*}}
401 ; CHECK: mov [[REG_RES:e.*]],0x3f 401 ; CHECK: mov [[REG_RES:e.*]],0x3f
402 ; CHECK: cmovne [[REG_RES]],[[REG_TMP]] 402 ; CHECK: cmovne [[REG_RES]],[[REG_TMP]]
403 ; CHECK: xor [[REG_RES]],0x1f 403 ; CHECK: xor [[REG_RES]],0x1f
404 ; ARM32-LABEL: test_ctlz_32 404 ; ARM32-LABEL: test_ctlz_32
405 ; ARM32: clz 405 ; ARM32: clz
406 ; MIPS32-LABEL: test_ctlz_32
407 ; MIPS32: clz
406 408
407 define internal i32 @test_ctlz_32_const() { 409 define internal i32 @test_ctlz_32_const() {
408 entry: 410 entry:
409 %r = call i32 @llvm.ctlz.i32(i32 123456, i1 false) 411 %r = call i32 @llvm.ctlz.i32(i32 123456, i1 false)
410 ret i32 %r 412 ret i32 %r
411 } 413 }
412 ; Could potentially constant fold this, but the front-end should have done that. 414 ; Could potentially constant fold this, but the front-end should have done that.
413 ; The dest operand must be a register and the source operand must be a register 415 ; The dest operand must be a register and the source operand must be a register
414 ; or memory. 416 ; or memory.
415 ; CHECK-LABEL: test_ctlz_32_const 417 ; CHECK-LABEL: test_ctlz_32_const
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
600 ; CHECK: lea {{.*}},[esp+0x10] 602 ; CHECK: lea {{.*}},[esp+0x10]
601 ; CHECK: lea {{.*}},[esp+0x10] 603 ; CHECK: lea {{.*}},[esp+0x10]
602 ; CHECK: call 604 ; CHECK: call
603 ; CHECK: mov esp,{{.*}} 605 ; CHECK: mov esp,{{.*}}
604 ; CHECK: mov esp,ebp 606 ; CHECK: mov esp,ebp
605 ; ARM32-LABEL: test_stacksave_multiple 607 ; ARM32-LABEL: test_stacksave_multiple
606 ; ARM32: mov {{.*}}, sp 608 ; ARM32: mov {{.*}}, sp
607 ; ARM32: mov {{.*}}, sp 609 ; ARM32: mov {{.*}}, sp
608 ; ARM32: mov {{.*}}, sp 610 ; ARM32: mov {{.*}}, sp
609 ; ARM32: mov sp, {{.*}} 611 ; ARM32: mov sp, {{.*}}
OLDNEW
« src/IceTargetLoweringMIPS32.cpp ('K') | « tests_lit/assembler/mips32/encoding_intrinsics.ll ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698