| Index: tests_lit/llvm2ice_tests/nacl-mem-intrinsics.ll
|
| diff --git a/tests_lit/llvm2ice_tests/nacl-mem-intrinsics.ll b/tests_lit/llvm2ice_tests/nacl-mem-intrinsics.ll
|
| index e2c2db1a7cf077856d2ed7df78058002c55d6cd7..7fb65f1e2130975a6c047c91115ef3cfdb09b26e 100644
|
| --- a/tests_lit/llvm2ice_tests/nacl-mem-intrinsics.ll
|
| +++ b/tests_lit/llvm2ice_tests/nacl-mem-intrinsics.ll
|
| @@ -11,8 +11,8 @@
|
| ; RUN: | %if --need=target_X8632 --command FileCheck --check-prefix OM1 %s
|
|
|
| ; RUN: %if --need=target_ARM32 --need=allow_dump \
|
| -; RUN: --command %p2i --filetype=obj --assemble --disassemble --target arm32 \
|
| -; RUN: -i %s --args -O2 \
|
| +; RUN: --command %p2i --filetype=asm --assemble --disassemble --target arm32 \
|
| +; RUN: -i %s --args -O2 --skip-unimplemented \
|
| ; RUN: | %if --need=target_ARM32 --need=allow_dump \
|
| ; RUN: --command FileCheck --check-prefix ARM32 %s
|
|
|
| @@ -33,9 +33,7 @@ entry:
|
| ; OM1-LABEL: test_memcpy
|
| ; OM1: call {{.*}} memcpy
|
| ; ARM32-LABEL: test_memcpy
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memcpy
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memcpy
|
|
|
| define internal void @test_memcpy_long_const_len(i32 %iptr_dst, i32 %iptr_src) {
|
| entry:
|
| @@ -50,9 +48,7 @@ entry:
|
| ; OM1-LABEL: test_memcpy_long_const_len
|
| ; OM1: call {{.*}} memcpy
|
| ; ARM32-LABEL: test_memcpy_long_const_len
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memcpy
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memcpy
|
|
|
| define internal void @test_memcpy_very_small_const_len(i32 %iptr_dst,
|
| i32 %iptr_src) {
|
| @@ -70,9 +66,7 @@ entry:
|
| ; OM1-LABEL: test_memcpy_very_small_const_len
|
| ; OM1: call {{.*}} memcpy
|
| ; ARM32-LABEL: test_memcpy_very_small_const_len
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memcpy
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memcpy
|
|
|
| define internal void @test_memcpy_const_len_3(i32 %iptr_dst, i32 %iptr_src) {
|
| entry:
|
| @@ -91,9 +85,7 @@ entry:
|
| ; OM1-LABEL: test_memcpy_const_len_3
|
| ; OM1: call {{.*}} memcpy
|
| ; ARM32-LABEL: test_memcpy_const_len_3
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memcpy
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memcpy
|
|
|
| define internal void @test_memcpy_mid_const_len(i32 %iptr_dst, i32 %iptr_src) {
|
| entry:
|
| @@ -112,9 +104,7 @@ entry:
|
| ; OM1-LABEL: test_memcpy_mid_const_len
|
| ; OM1: call {{.*}} memcpy
|
| ; ARM32-LABEL: test_memcpy_mid_const_len
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memcpy
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memcpy
|
|
|
| define internal void @test_memcpy_mid_const_len_overlap(i32 %iptr_dst,
|
| i32 %iptr_src) {
|
| @@ -134,9 +124,7 @@ entry:
|
| ; OM1-LABEL: test_memcpy_mid_const_len_overlap
|
| ; OM1: call {{.*}} memcpy
|
| ; ARM32-LABEL: test_memcpy_mid_const_len_overlap
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memcpy
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memcpy
|
|
|
| define internal void @test_memcpy_big_const_len_overlap(i32 %iptr_dst,
|
| i32 %iptr_src) {
|
| @@ -156,9 +144,7 @@ entry:
|
| ; OM1-LABEL: test_memcpy_big_const_len_overlap
|
| ; OM1: call {{.*}} memcpy
|
| ; ARM32-LABEL: test_memcpy_big_const_len_overlap
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memcpy
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memcpy
|
|
|
| define internal void @test_memcpy_large_const_len(i32 %iptr_dst,
|
| i32 %iptr_src) {
|
| @@ -180,9 +166,7 @@ entry:
|
| ; OM1-LABEL: test_memcpy_large_const_len
|
| ; OM1: call {{.*}} memcpy
|
| ; ARM32-LABEL: test_memcpy_large_const_len
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memcpy
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memcpy
|
|
|
| define internal void @test_memmove(i32 %iptr_dst, i32 %iptr_src, i32 %len) {
|
| entry:
|
| @@ -197,9 +181,7 @@ entry:
|
| ; OM1-LABEL: test_memmove
|
| ; OM1: call {{.*}} memmove
|
| ; ARM32-LABEL: test_memmove
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memmove
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memmove
|
|
|
| define internal void @test_memmove_long_const_len(i32 %iptr_dst,
|
| i32 %iptr_src) {
|
| @@ -215,9 +197,7 @@ entry:
|
| ; OM1-LABEL: test_memmove_long_const_len
|
| ; OM1: call {{.*}} memmove
|
| ; ARM32-LABEL: test_memmove_long_const_len
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memmove
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memmove
|
|
|
| define internal void @test_memmove_very_small_const_len(i32 %iptr_dst,
|
| i32 %iptr_src) {
|
| @@ -235,9 +215,7 @@ entry:
|
| ; OM1-LABEL: test_memmove_very_small_const_len
|
| ; OM1: call {{.*}} memmove
|
| ; ARM32-LABEL: test_memmove_very_small_const_len
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memmove
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memmove
|
|
|
| define internal void @test_memmove_const_len_3(i32 %iptr_dst, i32 %iptr_src) {
|
| entry:
|
| @@ -256,9 +234,7 @@ entry:
|
| ; OM1-LABEL: test_memmove_const_len_3
|
| ; OM1: call {{.*}} memmove
|
| ; ARM32-LABEL: test_memmove_const_len_3
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memmove
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memmove
|
|
|
| define internal void @test_memmove_mid_const_len(i32 %iptr_dst, i32 %iptr_src) {
|
| entry:
|
| @@ -277,9 +253,7 @@ entry:
|
| ; OM1-LABEL: test_memmove_mid_const_len
|
| ; OM1: call {{.*}} memmove
|
| ; ARM32-LABEL: test_memmove_mid_const_len
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memmove
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memmove
|
|
|
| define internal void @test_memmove_mid_const_len_overlap(i32 %iptr_dst,
|
| i32 %iptr_src) {
|
| @@ -299,9 +273,7 @@ entry:
|
| ; OM1-LABEL: test_memmove_mid_const_len_overlap
|
| ; OM1: call {{.*}} memmove
|
| ; ARM32-LABEL: test_memmove_mid_const_len_overlap
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memmove
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memmove
|
|
|
| define internal void @test_memmove_big_const_len_overlap(i32 %iptr_dst,
|
| i32 %iptr_src) {
|
| @@ -321,9 +293,7 @@ entry:
|
| ; OM1-LABEL: test_memmove_big_const_len_overlap
|
| ; OM1: call {{.*}} memmove
|
| ; ARM32-LABEL: test_memmove_big_const_len_overlap
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memmove
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memmove
|
|
|
| define internal void @test_memmove_large_const_len(i32 %iptr_dst,
|
| i32 %iptr_src) {
|
| @@ -345,9 +315,7 @@ entry:
|
| ; OM1-LABEL: test_memmove_large_const_len
|
| ; OM1: call {{.*}} memmove
|
| ; ARM32-LABEL: test_memmove_large_const_len
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memmove
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memmove
|
|
|
| define internal void @test_memset(i32 %iptr_dst, i32 %wide_val, i32 %len) {
|
| entry:
|
| @@ -365,9 +333,7 @@ entry:
|
| ; OM1: call {{.*}} R_{{.*}} memset
|
| ; ARM32-LABEL: test_memset
|
| ; ARM32: uxtb
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memset
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memset
|
|
|
| define internal void @test_memset_const_len_align(i32 %iptr_dst,
|
| i32 %wide_val) {
|
| @@ -386,9 +352,7 @@ entry:
|
| ; OM1: call {{.*}} R_{{.*}} memset
|
| ; ARM32-LABEL: test_memset_const_len_align
|
| ; ARM32: uxtb
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memset
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memset
|
|
|
| define internal void @test_memset_long_const_len_zero_val_align(
|
| i32 %iptr_dst) {
|
| @@ -404,9 +368,7 @@ entry:
|
| ; OM1: call {{.*}} R_{{.*}} memset
|
| ; ARM32-LABEL: test_memset_long_const_len_zero_val_align
|
| ; ARM32: uxtb
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memset
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memset
|
|
|
| define internal void @test_memset_const_val(i32 %iptr_dst, i32 %len) {
|
| entry:
|
| @@ -421,9 +383,7 @@ entry:
|
| ; OM1: call {{.*}} R_{{.*}} memset
|
| ; ARM32-LABEL: test_memset_const_val
|
| ; ARM32: uxtb
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memset
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memset
|
|
|
| define internal void @test_memset_const_val_len_very_small(i32 %iptr_dst) {
|
| entry:
|
| @@ -438,9 +398,7 @@ entry:
|
| ; OM1: call {{.*}} R_{{.*}} memset
|
| ; ARM32-LABEL: test_memset_const_val_len_very_small
|
| ; ARM32: uxtb
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memset
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memset
|
|
|
| define internal void @test_memset_const_val_len_3(i32 %iptr_dst) {
|
| entry:
|
| @@ -456,9 +414,7 @@ entry:
|
| ; OM1: call {{.*}} R_{{.*}} memset
|
| ; ARM32-LABEL: test_memset_const_val_len_3
|
| ; ARM32: uxtb
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memset
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memset
|
|
|
| define internal void @test_memset_const_val_len_mid(i32 %iptr_dst) {
|
| entry:
|
| @@ -475,9 +431,7 @@ entry:
|
| ; OM1: call {{.*}} R_{{.*}} memset
|
| ; ARM32-LABEL: test_memset_const_val_len_mid
|
| ; ARM32: uxtb
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memset
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memset
|
|
|
| define internal void @test_memset_zero_const_len_small(i32 %iptr_dst) {
|
| entry:
|
| @@ -494,9 +448,7 @@ entry:
|
| ; OM1: call {{.*}} R_{{.*}} memset
|
| ; ARM32-LABEL: test_memset_zero_const_len_small
|
| ; ARM32: uxtb
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memset
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memset
|
|
|
| define internal void @test_memset_zero_const_len_small_overlap(i32 %iptr_dst) {
|
| entry:
|
| @@ -513,9 +465,7 @@ entry:
|
| ; OM1: call {{.*}} R_{{.*}} memset
|
| ; ARM32-LABEL: test_memset_zero_const_len_small_overlap
|
| ; ARM32: uxtb
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memset
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memset
|
|
|
| define internal void @test_memset_zero_const_len_big_overlap(i32 %iptr_dst) {
|
| entry:
|
| @@ -532,9 +482,7 @@ entry:
|
| ; OM1: call {{.*}} R_{{.*}} memset
|
| ; ARM32-LABEL: test_memset_zero_const_len_big_overlap
|
| ; ARM32: uxtb
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memset
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memset
|
|
|
| define internal void @test_memset_zero_const_len_large(i32 %iptr_dst) {
|
| entry:
|
| @@ -552,6 +500,4 @@ entry:
|
| ; OM1: call {{.*}} R_{{.*}} memset
|
| ; ARM32-LABEL: test_memset_zero_const_len_large
|
| ; ARM32: uxtb
|
| -; ARM32: movw [[CALL:r[0-9]]], {{.+}} memset
|
| -; ARM32: movt [[CALL]]
|
| -; ARM32: blx [[CALL]]
|
| +; ARM32: bl {{.*}} memset
|
|
|