| 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 ; RUN: %p2i -i %s --assemble --disassemble --args -O2 --verbose none -sandbox \ | 3 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -O2 -sandbox \ |
| 4 ; RUN: | FileCheck %s | 4 ; RUN: | FileCheck %s |
| 5 ; RUN: %p2i -i %s --assemble --disassemble --args -Om1 --verbose none -sandbox \ | 5 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -Om1 -sandbox \ |
| 6 ; RUN: | FileCheck %s | 6 ; RUN: | FileCheck %s |
| 7 | 7 |
| 8 ; Do another run w/ O2 and a different check-prefix (otherwise O2 and Om1 | 8 ; Do another run w/ O2 and a different check-prefix (otherwise O2 and Om1 |
| 9 ; share the same "CHECK" prefix). This separate run helps check that | 9 ; share the same "CHECK" prefix). This separate run helps check that |
| 10 ; some code is optimized out. | 10 ; some code is optimized out. |
| 11 ; RUN: %p2i -i %s --assemble --disassemble --args -O2 --verbose none -sandbox \ | 11 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -O2 -sandbox \ |
| 12 ; RUN: | FileCheck --check-prefix=CHECKO2REM %s | 12 ; RUN: | FileCheck --check-prefix=CHECKO2REM %s |
| 13 | 13 |
| 14 ; Do O2 runs without -sandbox to make sure llvm.nacl.read.tp gets | 14 ; Do O2 runs without -sandbox to make sure llvm.nacl.read.tp gets |
| 15 ; lowered to __nacl_read_tp instead of gs:0x0. | 15 ; lowered to __nacl_read_tp instead of gs:0x0. |
| 16 ; We also know that because it's O2, it'll have the O2REM optimizations. | 16 ; We also know that because it's O2, it'll have the O2REM optimizations. |
| 17 ; RUN: %p2i -i %s --assemble --disassemble --args -O2 --verbose none \ | 17 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -O2 \ |
| 18 ; RUN: | FileCheck --check-prefix=CHECKO2UNSANDBOXEDREM %s | 18 ; RUN: | FileCheck --check-prefix=CHECKO2UNSANDBOXEDREM %s |
| 19 | 19 |
| 20 declare i8* @llvm.nacl.read.tp() | 20 declare i8* @llvm.nacl.read.tp() |
| 21 declare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) | 21 declare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) |
| 22 declare void @llvm.memmove.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) | 22 declare void @llvm.memmove.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) |
| 23 declare void @llvm.memset.p0i8.i32(i8*, i8, i32, i32, i1) | 23 declare void @llvm.memset.p0i8.i32(i8*, i8, i32, i32, i1) |
| 24 declare void @llvm.nacl.longjmp(i8*, i32) | 24 declare void @llvm.nacl.longjmp(i8*, i32) |
| 25 declare i32 @llvm.nacl.setjmp(i8*) | 25 declare i32 @llvm.nacl.setjmp(i8*) |
| 26 declare float @llvm.sqrt.f32(float) | 26 declare float @llvm.sqrt.f32(float) |
| 27 declare double @llvm.sqrt.f64(double) | 27 declare double @llvm.sqrt.f64(double) |
| (...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 473 | 473 |
| 474 call void @llvm.stackrestore(i8* %sp1) | 474 call void @llvm.stackrestore(i8* %sp1) |
| 475 ret void | 475 ret void |
| 476 } | 476 } |
| 477 ; CHECK-LABEL: test_stacksave_multiple | 477 ; CHECK-LABEL: test_stacksave_multiple |
| 478 ; At least 3 copies of esp, but probably more from having to do the allocas. | 478 ; At least 3 copies of esp, but probably more from having to do the allocas. |
| 479 ; CHECK: mov {{.*}},esp | 479 ; CHECK: mov {{.*}},esp |
| 480 ; CHECK: mov {{.*}},esp | 480 ; CHECK: mov {{.*}},esp |
| 481 ; CHECK: mov {{.*}},esp | 481 ; CHECK: mov {{.*}},esp |
| 482 ; CHECK: mov esp,{{.*}} | 482 ; CHECK: mov esp,{{.*}} |
| OLD | NEW |