OLD | NEW |
1 ; Test parsing NaCl atomic instructions. | 1 ; Test parsing NaCl atomic instructions. |
2 | 2 |
3 ; REQUIRES: allow_dump | |
4 | |
5 ; RUN: %p2i -i %s --insts | FileCheck %s | 3 ; RUN: %p2i -i %s --insts | FileCheck %s |
6 ; RUN: %if --need=allow_disable_ir_gen --command \ | 4 ; RUN: %if --need=allow_disable_ir_gen --command \ |
7 ; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \ | 5 ; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \ |
8 ; RUN: | %if --need=allow_disable_ir_gen --command \ | 6 ; RUN: | %if --need=allow_disable_ir_gen --command \ |
9 ; RUN: FileCheck --check-prefix=NOIR %s | 7 ; RUN: FileCheck --check-prefix=NOIR %s |
10 | 8 |
11 declare i8 @llvm.nacl.atomic.load.i8(i8*, i32) | 9 declare i8 @llvm.nacl.atomic.load.i8(i8*, i32) |
12 declare i16 @llvm.nacl.atomic.load.i16(i16*, i32) | 10 declare i16 @llvm.nacl.atomic.load.i16(i16*, i32) |
13 declare i32 @llvm.nacl.atomic.load.i32(i32*, i32) | 11 declare i32 @llvm.nacl.atomic.load.i32(i32*, i32) |
14 declare i64 @llvm.nacl.atomic.load.i64(i64*, i32) | 12 declare i64 @llvm.nacl.atomic.load.i64(i64*, i32) |
(...skipping 623 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
638 } | 636 } |
639 | 637 |
640 ; CHECK-NEXT: define i32 @test_atomic_is_lock_free(i32 %iptr) { | 638 ; CHECK-NEXT: define i32 @test_atomic_is_lock_free(i32 %iptr) { |
641 ; CHECK-NEXT: entry: | 639 ; CHECK-NEXT: entry: |
642 ; CHECK-NEXT: %i = call i1 @llvm.nacl.atomic.is.lock.free(i32 4, i32 %iptr) | 640 ; CHECK-NEXT: %i = call i1 @llvm.nacl.atomic.is.lock.free(i32 4, i32 %iptr) |
643 ; CHECK-NEXT: %r = zext i1 %i to i32 | 641 ; CHECK-NEXT: %r = zext i1 %i to i32 |
644 ; CHECK-NEXT: ret i32 %r | 642 ; CHECK-NEXT: ret i32 %r |
645 ; CHECK-NEXT: } | 643 ; CHECK-NEXT: } |
646 | 644 |
647 ; NOIR: Total across all functions | 645 ; NOIR: Total across all functions |
OLD | NEW |