OLD | NEW |
1 ; This tests that different floating point constants (such as 0.0 and -0.0) | 1 ; This tests that different floating point constants (such as 0.0 and -0.0) |
2 ; remain distinct even when they sort of look equal, and also that different | 2 ; remain distinct even when they sort of look equal, and also that different |
3 ; instances of the same floating point constant (such as NaN and NaN) get the | 3 ; instances of the same floating point constant (such as NaN and NaN) get the |
4 ; same constant pool entry even when "a==a" would suggest they are different. | 4 ; same constant pool entry even when "a==a" would suggest they are different. |
5 | 5 |
6 ; REQUIRES: allow_dump | 6 ; REQUIRES: allow_dump |
7 | 7 |
8 ; RUN: %if --need=target_MIPS32 --need=allow_dump \ | 8 ; RUN: %if --need=target_MIPS32 --need=allow_dump \ |
9 ; RUN: --command %p2i --filetype=asm --assemble --disassemble \ | 9 ; RUN: --command %p2i --filetype=asm --assemble --disassemble \ |
10 ; RUN: --target mips32 -i %s --args -O2 --skip-unimplemented \ | 10 ; RUN: --target mips32 -i %s --args -O2 \ |
11 ; RUN: | %if --need=target_MIPS32 --need=allow_dump \ | 11 ; RUN: | %if --need=target_MIPS32 --need=allow_dump \ |
12 ; RUN: --command FileCheck --check-prefix MIPS32 %s | 12 ; RUN: --command FileCheck --check-prefix MIPS32 %s |
13 | 13 |
14 define internal void @consume_float(float %f) { | 14 define internal void @consume_float(float %f) { |
15 ret void | 15 ret void |
16 } | 16 } |
17 | 17 |
18 define internal void @consume_double(double %d) { | 18 define internal void @consume_double(double %d) { |
19 ret void | 19 ret void |
20 } | 20 } |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 ; NANS3-NOT: double nan | 104 ; NANS3-NOT: double nan |
105 ; | 105 ; |
106 ; RUN: %p2i -i %s --filetype=asm --llvm-source \ | 106 ; RUN: %p2i -i %s --filetype=asm --llvm-source \ |
107 ; RUN: | FileCheck --check-prefix=NANS4 %s | 107 ; RUN: | FileCheck --check-prefix=NANS4 %s |
108 ; NANS4: double -nan | 108 ; NANS4: double -nan |
109 ; NANS4-NOT: double -nan | 109 ; NANS4-NOT: double -nan |
110 | 110 |
111 ; MIPS32 constant pool | 111 ; MIPS32 constant pool |
112 ; RUN: %if --need=target_MIPS32 --command %p2i \ | 112 ; RUN: %if --need=target_MIPS32 --command %p2i \ |
113 ; RUN: --target mips32 -i %s --filetype=asm --llvm-source \ | 113 ; RUN: --target mips32 -i %s --filetype=asm --llvm-source \ |
114 ; RUN: --args -O2 --skip-unimplemented \ | 114 ; RUN: --args -O2 \ |
115 ; RUN: | %if --need=target_MIPS32 --command FileCheck \ | 115 ; RUN: | %if --need=target_MIPS32 --command FileCheck \ |
116 ; RUN: --check-prefix=MIPS32CP %s | 116 ; RUN: --check-prefix=MIPS32CP %s |
117 ; MIPS32CP-LABEL: .L$float$7fc00000: | 117 ; MIPS32CP-LABEL: .L$float$7fc00000: |
118 ; MIPS32CP: .word 0x7fc00000 /* f32 nan */ | 118 ; MIPS32CP: .word 0x7fc00000 /* f32 nan */ |
119 ; MIPS32CP-LABEL: .L$float$80000000 | 119 ; MIPS32CP-LABEL: .L$float$80000000 |
120 ; MIPS32CP: .word 0x80000000 /* f32 -0.000000e+00 */ | 120 ; MIPS32CP: .word 0x80000000 /* f32 -0.000000e+00 */ |
121 ; MIPS32CP-LABEL: .L$float$ffc00000 | 121 ; MIPS32CP-LABEL: .L$float$ffc00000 |
122 ; MIPS32CP: .word 0xffc00000 /* f32 -nan */ | 122 ; MIPS32CP: .word 0xffc00000 /* f32 -nan */ |
123 ; MIPS32CP-LABEL: .L$double$7ff8000000000000 | 123 ; MIPS32CP-LABEL: .L$double$7ff8000000000000 |
124 ; MIPS32CP: .quad 0x7ff8000000000000 /* f64 nan */ | 124 ; MIPS32CP: .quad 0x7ff8000000000000 /* f64 nan */ |
125 ; MIPS32CP-LABEL: .L$double$8000000000000000 | 125 ; MIPS32CP-LABEL: .L$double$8000000000000000 |
126 ; MIPS32CP: .quad 0x8000000000000000 /* f64 -0.000000e+00 */ | 126 ; MIPS32CP: .quad 0x8000000000000000 /* f64 -0.000000e+00 */ |
127 ; MIPS32CP-LABEL: .L$double$fff8000000000000 | 127 ; MIPS32CP-LABEL: .L$double$fff8000000000000 |
128 ; MIPS32CP: .quad 0xfff8000000000000 /* f64 -nan */ | 128 ; MIPS32CP: .quad 0xfff8000000000000 /* f64 -nan */ |
OLD | NEW |