OLD | NEW |
1 ; This tests the NaCl intrinsics memset, memcpy and memmove. | 1 ; This tests the NaCl intrinsics memset, memcpy and memmove. |
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 -i %s --args -O2 -sandbox \ | 4 ; RUN: --target x8632 --sandbox -i %s --args -O2 \ |
5 ; RUN: | %if --need=target_X8632 --command FileCheck %s | 5 ; RUN: | %if --need=target_X8632 --command FileCheck %s |
6 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ | 6 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ |
7 ; RUN: --target x8632 -i %s --args -Om1 --fmem-intrin-opt -sandbox \ | 7 ; RUN: --target x8632 --sandbox -i %s --args -Om1 --fmem-intrin-opt \ |
8 ; RUN: | %if --need=target_X8632 --command FileCheck %s | 8 ; RUN: | %if --need=target_X8632 --command FileCheck %s |
9 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ | 9 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ |
10 ; RUN: --target x8632 -i %s --args -Om1 -sandbox \ | 10 ; RUN: --target x8632 --sandbox -i %s --args -Om1 \ |
11 ; RUN: | %if --need=target_X8632 --command FileCheck --check-prefix OM1 %s | 11 ; RUN: | %if --need=target_X8632 --command FileCheck --check-prefix OM1 %s |
12 | 12 |
13 ; RUN: %if --need=target_ARM32 --need=allow_dump \ | 13 ; RUN: %if --need=target_ARM32 --need=allow_dump \ |
14 ; RUN: --command %p2i --filetype=asm --assemble --disassemble --target arm32 \ | 14 ; RUN: --command %p2i --filetype=asm --assemble --disassemble --target arm32 \ |
15 ; RUN: -i %s --args -O2 --skip-unimplemented \ | 15 ; RUN: -i %s --args -O2 --skip-unimplemented \ |
16 ; RUN: | %if --need=target_ARM32 --need=allow_dump \ | 16 ; RUN: | %if --need=target_ARM32 --need=allow_dump \ |
17 ; RUN: --command FileCheck --check-prefix ARM32 %s | 17 ; RUN: --command FileCheck --check-prefix ARM32 %s |
18 | 18 |
19 declare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) | 19 declare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) |
20 declare void @llvm.memmove.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) | 20 declare void @llvm.memmove.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) |
(...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
494 ; CHECK: pxor [[ZERO:xmm[0-9]+]],[[ZERO]] | 494 ; CHECK: pxor [[ZERO:xmm[0-9]+]],[[ZERO]] |
495 ; CHECK-NEXT: movups XMMWORD PTR [{{.*}}+0x10],[[ZERO]] | 495 ; CHECK-NEXT: movups XMMWORD PTR [{{.*}}+0x10],[[ZERO]] |
496 ; CHECK-NEXT: movups XMMWORD PTR [{{.*}}],[[ZERO]] | 496 ; CHECK-NEXT: movups XMMWORD PTR [{{.*}}],[[ZERO]] |
497 ; CHECK-NEXT: mov BYTE PTR [{{.*}}+0x20],0x0 | 497 ; CHECK-NEXT: mov BYTE PTR [{{.*}}+0x20],0x0 |
498 ; CHECK-NOT: mov | 498 ; CHECK-NOT: mov |
499 ; OM1-LABEL: test_memset_zero_const_len_large | 499 ; OM1-LABEL: test_memset_zero_const_len_large |
500 ; OM1: call {{.*}} R_{{.*}} memset | 500 ; OM1: call {{.*}} R_{{.*}} memset |
501 ; ARM32-LABEL: test_memset_zero_const_len_large | 501 ; ARM32-LABEL: test_memset_zero_const_len_large |
502 ; ARM32: uxtb | 502 ; ARM32: uxtb |
503 ; ARM32: bl {{.*}} memset | 503 ; ARM32: bl {{.*}} memset |
OLD | NEW |