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: %p2i -i %s --args -O2 --verbose none \ | 9 ; RUN: %p2i --assemble --disassemble --dis-flags=-s -i %s --args -O2 \ |
10 ; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ | 10 ; RUN: --verbose none | FileCheck %s |
11 ; RUN: | llvm-objdump -s -d -symbolize -x86-asm-syntax=intel - | FileCheck %s | 11 ; RUN: %p2i --assemble --disassemble --dis-flags=-s -i %s --args -Om1 \ |
12 ; RUN: %p2i -i %s --args -Om1 --verbose none \ | 12 ; RUN: --verbose none | FileCheck %s |
13 ; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ | |
14 ; RUN: | llvm-objdump -s -d -symbolize -x86-asm-syntax=intel - | FileCheck %s | |
15 | 13 |
16 @__init_array_start = internal constant [0 x i8] zeroinitializer, align 4 | 14 @__init_array_start = internal constant [0 x i8] zeroinitializer, align 4 |
17 @__fini_array_start = internal constant [0 x i8] zeroinitializer, align 4 | 15 @__fini_array_start = internal constant [0 x i8] zeroinitializer, align 4 |
18 @__tls_template_start = internal constant [0 x i8] zeroinitializer, align 8 | 16 @__tls_template_start = internal constant [0 x i8] zeroinitializer, align 8 |
19 @__tls_template_alignment = internal constant [4 x i8] c"\01\00\00\00", align 4 | 17 @__tls_template_alignment = internal constant [4 x i8] c"\01\00\00\00", align 4 |
20 | 18 |
21 define internal float @FpLookup1(i32 %Arg) { | 19 define internal float @FpLookup1(i32 %Arg) { |
22 entry: | 20 entry: |
23 switch i32 %Arg, label %return [ | 21 switch i32 %Arg, label %return [ |
24 i32 0, label %sw.bb | 22 i32 0, label %sw.bb |
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
542 | 540 |
543 ; Check for float 0.5 | 541 ; Check for float 0.5 |
544 ; CHECK-LABEL: .rodata.cst4 | 542 ; CHECK-LABEL: .rodata.cst4 |
545 ; CHECK: 0000003f | 543 ; CHECK: 0000003f |
546 ; CHECK-NOT: 0000003f | 544 ; CHECK-NOT: 0000003f |
547 | 545 |
548 ; Check for double 0.5 | 546 ; Check for double 0.5 |
549 ; CHECK-LABEL: .rodata.cst8 | 547 ; CHECK-LABEL: .rodata.cst8 |
550 ; CHECK: 00000000 0000e03f | 548 ; CHECK: 00000000 0000e03f |
551 ; CHECK-NOT: 00000000 0000e03f | 549 ; CHECK-NOT: 00000000 0000e03f |
552 ; CHECK-LABEL: .shstrtab | 550 ; CHECK-LABEL: .text |
OLD | NEW |