| Index: tests_lit/llvm2ice_tests/nacl-other-intrinsics.ll | 
| diff --git a/tests_lit/llvm2ice_tests/nacl-other-intrinsics.ll b/tests_lit/llvm2ice_tests/nacl-other-intrinsics.ll | 
| index 59eba0d905e90f7fcfd3f008a22b35f534b0bb4c..29e8def5c8d2817f5e2e6f101ee732321223dbb2 100644 | 
| --- a/tests_lit/llvm2ice_tests/nacl-other-intrinsics.ll | 
| +++ b/tests_lit/llvm2ice_tests/nacl-other-intrinsics.ll | 
| @@ -1,11 +1,5 @@ | 
| ; This tests the NaCl intrinsics not related to atomic operations. | 
|  | 
| -; TODO(jvoung): fix extra "CALLTARGETS" run. The llvm-objdump symbolizer | 
| -; doesn't know how to symbolize non-section-local functions. | 
| -; The newer LLVM 3.6 one does work, but watch out for other bugs. | 
| - | 
| -; RUN: %p2i -i %s --args -O2 --verbose none \ | 
| -; RUN:   | FileCheck --check-prefix=CALLTARGETS %s | 
| ; RUN: %p2i -i %s --args -O2 --verbose none -sandbox \ | 
| ; RUN:   | llvm-mc -triple=i686-none-nacl -filetype=obj \ | 
| ; RUN:   | llvm-objdump -d --symbolize -x86-asm-syntax=intel - | FileCheck %s | 
| @@ -61,9 +55,7 @@ entry: | 
| ; CHECKO2REM-LABEL: test_nacl_read_tp | 
| ; CHECKO2REM: mov e{{.*}}, dword ptr gs:[0] | 
| ; CHECKO2UNSANDBOXEDREM-LABEL: test_nacl_read_tp | 
| -; CHECKO2UNSANDBOXEDREM: call -4 | 
| -; CALLTARGETS-LABEL: test_nacl_read_tp | 
| -; CALLTARGETS: .long __nacl_read_tp | 
| +; CHECKO2UNSANDBOXEDREM: call __nacl_read_tp | 
|  | 
| define i32 @test_nacl_read_tp_more_addressing() { | 
| entry: | 
| @@ -89,11 +81,8 @@ entry: | 
| ; CHECKO2REM: mov e{{.*}}, dword ptr gs:[0] | 
| ; CHECKO2REM: mov e{{.*}}, dword ptr gs:[0] | 
| ; CHECKO2UNSANDBOXEDREM-LABEL: test_nacl_read_tp_more_addressing | 
| -; CHECKO2UNSANDBOXEDREM: call -4 | 
| -; CHECKO2UNSANDBOXEDREM: call -4 | 
| -; CALLTARGETS-LABEL: test_nacl_read_tp_more_addressing | 
| -; CALLTARGETS: .long __nacl_read_tp | 
| -; CALLTARGETS: .long __nacl_read_tp | 
| +; CHECKO2UNSANDBOXEDREM: call __nacl_read_tp | 
| +; CHECKO2UNSANDBOXEDREM: call __nacl_read_tp | 
|  | 
| define i32 @test_nacl_read_tp_dead(i32 %a) { | 
| entry: | 
| @@ -106,9 +95,7 @@ entry: | 
| ; CHECKO2REM-LABEL: test_nacl_read_tp_dead | 
| ; CHECKO2REM-NOT: mov e{{.*}}, dword ptr gs:[0] | 
| ; CHECKO2UNSANDBOXEDREM-LABEL: test_nacl_read_tp_dead | 
| -; CHECKO2UNSANDBOXEDREM-NOT: call -4 | 
| -; CALLTARGETS-LABEL: test_nacl_read_tp_dead | 
| -; CALLTARGETS-NOT: call __nacl_read_tp | 
| +; CHECKO2UNSANDBOXEDREM-NOT: call __nacl_read_tp | 
|  | 
| define void @test_memcpy(i32 %iptr_dst, i32 %iptr_src, i32 %len) { | 
| entry: | 
| @@ -119,9 +106,7 @@ entry: | 
| ret void | 
| } | 
| ; CHECK-LABEL: test_memcpy | 
| -; CHECK: call -4 | 
| -; CALLTARGETS-LABEL: test_memcpy | 
| -; CALLTARGETS: .long memcpy | 
| +; CHECK: call memcpy | 
| ; CHECKO2REM-LABEL: test_memcpy | 
| ; CHECKO2UNSANDBOXEDREM-LABEL: test_memcpy | 
|  | 
| @@ -136,9 +121,7 @@ entry: | 
| ret void | 
| } | 
| ; CHECK-LABEL: test_memcpy_const_len_align | 
| -; CHECK: call -4 | 
| -; CALLTARGETS-LABEL: test_memcpy_const_len_align | 
| -; CALLTARGETS: .long memcpy | 
| +; CHECK: call memcpy | 
|  | 
| define void @test_memmove(i32 %iptr_dst, i32 %iptr_src, i32 %len) { | 
| entry: | 
| @@ -149,9 +132,7 @@ entry: | 
| ret void | 
| } | 
| ; CHECK-LABEL: test_memmove | 
| -; CHECK: call -4 | 
| -; CALLTARGETS-LABEL: test_memmove | 
| -; CALLTARGETS: .long memmove | 
| +; CHECK: call memmove | 
|  | 
| define void @test_memmove_const_len_align(i32 %iptr_dst, i32 %iptr_src) { | 
| entry: | 
| @@ -162,9 +143,7 @@ entry: | 
| ret void | 
| } | 
| ; CHECK-LABEL: test_memmove_const_len_align | 
| -; CHECK: call -4 | 
| -; CALLTARGETS-LABEL: test_memmove_const_len_align | 
| -; CALLTARGETS: .long memmove | 
| +; CHECK: call memmove | 
|  | 
| define void @test_memset(i32 %iptr_dst, i32 %wide_val, i32 %len) { | 
| entry: | 
| @@ -176,9 +155,7 @@ entry: | 
| } | 
| ; CHECK-LABEL: test_memset | 
| ; CHECK: movzx | 
| -; CHECK: call -4 | 
| -; CALLTARGETS-LABEL: test_memset | 
| -; CALLTARGETS: .long memset | 
| +; CHECK: call memset | 
|  | 
| define void @test_memset_const_len_align(i32 %iptr_dst, i32 %wide_val) { | 
| entry: | 
| @@ -190,9 +167,7 @@ entry: | 
| } | 
| ; CHECK-LABEL: test_memset_const_len_align | 
| ; CHECK: movzx | 
| -; CHECK: call -4 | 
| -; CALLTARGETS-LABEL: test_memset_const_len_align | 
| -; CALLTARGETS: .long memset | 
| +; CHECK: call memset | 
|  | 
| define void @test_memset_const_val(i32 %iptr_dst, i32 %len) { | 
| entry: | 
| @@ -203,9 +178,7 @@ entry: | 
| ; CHECK-LABEL: test_memset_const_val | 
| ; Make sure the argument is legalized (can't movzx reg, 0). | 
| ; CHECK: movzx {{.*}}, {{[^0]}} | 
| -; CHECK: call -4 | 
| -; CALLTARGETS-LABEL: test_memset_const_val | 
| -; CALLTARGETS: .long memset | 
| +; CHECK: call memset | 
|  | 
|  | 
| define i32 @test_setjmplongjmp(i32 %iptr_env) { | 
| @@ -223,14 +196,11 @@ NonZero: | 
| ret i32 1 | 
| } | 
| ; CHECK-LABEL: test_setjmplongjmp | 
| -; CHECK: call -4 | 
| -; CHECK: call -4 | 
| +; CHECK: call setjmp | 
| +; CHECK: call longjmp | 
| ; CHECKO2REM-LABEL: test_setjmplongjmp | 
| -; CHECKO2REM: call -4 | 
| -; CHECKO2REM: call -4 | 
| -; CALLTARGETS-LABEL: test_setjmplongjmp | 
| -; CALLTARGETS: .long setjmp | 
| -; CALLTARGETS: .long longjmp | 
| +; CHECKO2REM: call setjmp | 
| +; CHECKO2REM: call longjmp | 
|  | 
| define i32 @test_setjmp_unused(i32 %iptr_env, i32 %i_other) { | 
| entry: | 
| @@ -241,9 +211,7 @@ entry: | 
| ; Don't consider setjmp side-effect free, so it's not eliminated if | 
| ; result unused. | 
| ; CHECKO2REM-LABEL: test_setjmp_unused | 
| -; CHECKO2REM: call -4 | 
| -; CALLTARGETS-LABEL: test_setjmp_unused | 
| -; CALLTARGETS: .long setjmp | 
| +; CHECKO2REM: call setjmp | 
|  | 
| define float @test_sqrt_float(float %x, i32 %iptr) { | 
| entry: | 
| @@ -449,9 +417,7 @@ entry: | 
| ret i32 %r | 
| } | 
| ; CHECK-LABEL: test_popcount_32 | 
| -; CHECK: call -4 | 
| -; CALLTARGETS-LABEL: test_popcount_32 | 
| -; CALLTARGETS: .long __popcountsi2 | 
| +; CHECK: call __popcountsi2 | 
|  | 
| define i64 @test_popcount_64(i64 %x) { | 
| entry: | 
| @@ -459,12 +425,10 @@ entry: | 
| ret i64 %r | 
| } | 
| ; CHECK-LABEL: test_popcount_64 | 
| -; CHECK: call -4 | 
| +; CHECK: call __popcountdi2 | 
| ; __popcountdi2 only returns a 32-bit result, so clear the upper bits of | 
| ; the return value just in case. | 
| ; CHECK: mov {{.*}}, 0 | 
| -; CALLTARGETS-LABEL: test_popcount_64 | 
| -; CALLTARGETS: .long __popcountdi2 | 
|  | 
|  | 
| define i32 @test_popcount_64_ret_i32(i64 %x) { | 
| @@ -475,10 +439,8 @@ entry: | 
| } | 
| ; If there is a trunc, then the mov {{.*}}, 0 is dead and gets optimized out. | 
| ; CHECKO2REM-LABEL: test_popcount_64_ret_i32 | 
| -; CHECKO2REM: call -4 | 
| +; CHECKO2REM: call __popcountdi2 | 
| ; CHECKO2REM-NOT: mov {{.*}}, 0 | 
| -; CALLTARGETS-LABEL: test_popcount_64_ret_i32 | 
| -; CALLTARGETS: .long __popcountdi2 | 
|  | 
| define void @test_stacksave_noalloca() { | 
| entry: | 
|  |