OLD | NEW |
1 ; This is a smoke test for floating-point constant pooling. It tests | 1 ; This is a smoke test for floating-point constant pooling. It tests |
2 ; pooling of various float and double constants (including positive | 2 ; pooling of various float and double constants (including positive |
3 ; and negative NaN) within functions and across functions. Note that | 3 ; and negative NaN) within functions and across functions. Note that |
4 ; in LLVM bitcode, hex constants are used for an FP constant whenever | 4 ; in LLVM bitcode, hex constants are used for an FP constant whenever |
5 ; the constant "cannot be represented as a decimal floating point | 5 ; the constant "cannot be represented as a decimal floating point |
6 ; number in a reasonable number of digits". See | 6 ; number in a reasonable number of digits". See |
7 ; http://llvm.org/docs/LangRef.html#simple-constants . | 7 ; http://llvm.org/docs/LangRef.html#simple-constants . |
8 | 8 |
9 ; RUN: %llvm2ice -O2 --verbose none %s \ | 9 ; RUN: %p2i -i %s --args -O2 --verbose none \ |
10 ; RUN: | llvm-mc -triple=i686-none-nacl -x86-asm-syntax=intel -filetype=obj \ | 10 ; RUN: | llvm-mc -triple=i686-none-nacl -x86-asm-syntax=intel -filetype=obj \ |
11 ; RUN: | llvm-objdump -s -d -symbolize -x86-asm-syntax=intel - | FileCheck %s | 11 ; RUN: | llvm-objdump -s -d -symbolize -x86-asm-syntax=intel - | FileCheck %s |
12 ; RUN: %llvm2ice -Om1 --verbose none %s \ | 12 ; RUN: %p2i -i %s --args -Om1 --verbose none \ |
13 ; RUN: | llvm-mc -triple=i686-none-nacl -x86-asm-syntax=intel -filetype=obj \ | 13 ; RUN: | llvm-mc -triple=i686-none-nacl -x86-asm-syntax=intel -filetype=obj \ |
14 ; RUN: | llvm-objdump -s -d -symbolize -x86-asm-syntax=intel - | FileCheck %s | 14 ; RUN: | llvm-objdump -s -d -symbolize -x86-asm-syntax=intel - | FileCheck %s |
15 ; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s | 15 ; RUN: %p2i -i %s --args --verbose none | FileCheck --check-prefix=ERRORS %s |
16 ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s | 16 ; RUN: %p2i -i %s --insts | %szdiff %s | FileCheck --check-prefix=DUMP %s |
17 ; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \ | |
18 ; RUN: | FileCheck --check-prefix=DUMP %s | |
19 | 17 |
20 @__init_array_start = internal constant [0 x i8] zeroinitializer, align 4 | 18 @__init_array_start = internal constant [0 x i8] zeroinitializer, align 4 |
21 @__fini_array_start = internal constant [0 x i8] zeroinitializer, align 4 | 19 @__fini_array_start = internal constant [0 x i8] zeroinitializer, align 4 |
22 @__tls_template_start = internal constant [0 x i8] zeroinitializer, align 8 | 20 @__tls_template_start = internal constant [0 x i8] zeroinitializer, align 8 |
23 @__tls_template_alignment = internal constant [4 x i8] c"\01\00\00\00", align 4 | 21 @__tls_template_alignment = internal constant [4 x i8] c"\01\00\00\00", align 4 |
24 | 22 |
25 define internal float @FpLookup1(i32 %Arg) { | 23 define internal float @FpLookup1(i32 %Arg) { |
26 entry: | 24 entry: |
27 switch i32 %Arg, label %return [ | 25 switch i32 %Arg, label %return [ |
28 i32 0, label %sw.bb | 26 i32 0, label %sw.bb |
(...skipping 521 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
550 ; CHECK-NOT: 0000003f | 548 ; CHECK-NOT: 0000003f |
551 | 549 |
552 ; Check for double 0.5 | 550 ; Check for double 0.5 |
553 ; CHECK-LABEL: .rodata.cst8 | 551 ; CHECK-LABEL: .rodata.cst8 |
554 ; CHECK: 00000000 0000e03f | 552 ; CHECK: 00000000 0000e03f |
555 ; CHECK-NOT: 00000000 0000e03f | 553 ; CHECK-NOT: 00000000 0000e03f |
556 ; CHECK-LABEL: .shstrtab | 554 ; CHECK-LABEL: .shstrtab |
557 | 555 |
558 ; ERRORS-NOT: ICE translation error | 556 ; ERRORS-NOT: ICE translation error |
559 ; DUMP-NOT: SZ | 557 ; DUMP-NOT: SZ |
OLD | NEW |