| OLD | NEW |
| 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 ; TODO(jvoung): fix extra "CALLTARGETS" run. The llvm-objdump symbolizer | 3 ; TODO(jvoung): fix extra "CALLTARGETS" run. The llvm-objdump symbolizer |
| 4 ; doesn't know how to symbolize non-section-local functions. | 4 ; doesn't know how to symbolize non-section-local functions. |
| 5 ; The newer LLVM 3.6 one does work, but watch out for other bugs. | 5 ; The newer LLVM 3.6 one does work, but watch out for other bugs. |
| 6 | 6 |
| 7 ; RUN: %p2i -i %s --args -O2 --verbose none \ | 7 ; RUN: %p2i -i %s --args -O2 --verbose none \ |
| 8 ; RUN: | FileCheck --check-prefix=CALLTARGETS %s | 8 ; RUN: | FileCheck --check-prefix=CALLTARGETS %s |
| 9 ; RUN: %p2i -i %s --args -O2 --verbose none -sandbox \ | 9 ; RUN: %p2i -i %s --args -O2 --verbose none -sandbox \ |
| 10 ; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ | 10 ; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 ; RUN: | FileCheck --check-prefix=CHECKO2REM %s | 22 ; RUN: | FileCheck --check-prefix=CHECKO2REM %s |
| 23 | 23 |
| 24 ; Do O2 runs without -sandbox to make sure llvm.nacl.read.tp gets | 24 ; Do O2 runs without -sandbox to make sure llvm.nacl.read.tp gets |
| 25 ; lowered to __nacl_read_tp instead of gs:[0x0]. | 25 ; lowered to __nacl_read_tp instead of gs:[0x0]. |
| 26 ; We also know that because it's O2, it'll have the O2REM optimizations. | 26 ; We also know that because it's O2, it'll have the O2REM optimizations. |
| 27 ; RUN: %p2i -i %s --args -O2 --verbose none \ | 27 ; RUN: %p2i -i %s --args -O2 --verbose none \ |
| 28 ; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ | 28 ; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ |
| 29 ; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - \ | 29 ; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - \ |
| 30 ; RUN: | FileCheck --check-prefix=CHECKO2UNSANDBOXEDREM %s | 30 ; RUN: | FileCheck --check-prefix=CHECKO2UNSANDBOXEDREM %s |
| 31 | 31 |
| 32 ; RUN: %p2i -i %s --args --verbose none | FileCheck --check-prefix=ERRORS %s | |
| 33 | |
| 34 declare i8* @llvm.nacl.read.tp() | 32 declare i8* @llvm.nacl.read.tp() |
| 35 declare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) | 33 declare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) |
| 36 declare void @llvm.memmove.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) | 34 declare void @llvm.memmove.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) |
| 37 declare void @llvm.memset.p0i8.i32(i8*, i8, i32, i32, i1) | 35 declare void @llvm.memset.p0i8.i32(i8*, i8, i32, i32, i1) |
| 38 declare void @llvm.nacl.longjmp(i8*, i32) | 36 declare void @llvm.nacl.longjmp(i8*, i32) |
| 39 declare i32 @llvm.nacl.setjmp(i8*) | 37 declare i32 @llvm.nacl.setjmp(i8*) |
| 40 declare float @llvm.sqrt.f32(float) | 38 declare float @llvm.sqrt.f32(float) |
| 41 declare double @llvm.sqrt.f64(double) | 39 declare double @llvm.sqrt.f64(double) |
| 42 declare void @llvm.trap() | 40 declare void @llvm.trap() |
| 43 declare i16 @llvm.bswap.i16(i16) | 41 declare i16 @llvm.bswap.i16(i16) |
| (...skipping 475 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 519 | 517 |
| 520 call void @llvm.stackrestore(i8* %sp1) | 518 call void @llvm.stackrestore(i8* %sp1) |
| 521 ret void | 519 ret void |
| 522 } | 520 } |
| 523 ; CHECK-LABEL: test_stacksave_multiple | 521 ; CHECK-LABEL: test_stacksave_multiple |
| 524 ; At least 3 copies of esp, but probably more from having to do the allocas. | 522 ; At least 3 copies of esp, but probably more from having to do the allocas. |
| 525 ; CHECK: mov {{.*}}, esp | 523 ; CHECK: mov {{.*}}, esp |
| 526 ; CHECK: mov {{.*}}, esp | 524 ; CHECK: mov {{.*}}, esp |
| 527 ; CHECK: mov {{.*}}, esp | 525 ; CHECK: mov {{.*}}, esp |
| 528 ; CHECK: mov esp, {{.*}} | 526 ; CHECK: mov esp, {{.*}} |
| 529 | |
| 530 ; ERRORS-NOT: ICE translation error | |
| OLD | NEW |