| OLD | NEW |
| 1 ; This file checks support for comparing vector values with the fcmp | 1 ; This file checks support for comparing vector values with the fcmp |
| 2 ; instruction. | 2 ; instruction. |
| 3 | 3 |
| 4 ; RUN: %p2i -i %s --assemble --disassemble -a -O2 --verbose none \ | 4 ; RUN: %p2i -i %s --filetype=obj --disassemble -a -O2 | FileCheck %s |
| 5 ; RUN: | FileCheck %s | 5 ; RUN: %p2i -i %s --filetype=obj --disassemble -a -Om1 | FileCheck %s |
| 6 ; RUN: %p2i -i %s --assemble --disassemble -a -Om1 --verbose none \ | |
| 7 ; RUN: | FileCheck %s | |
| 8 | 6 |
| 9 ; Check that sext elimination occurs when the result of the comparison | 7 ; Check that sext elimination occurs when the result of the comparison |
| 10 ; instruction is alrady sign extended. Sign extension to 4 x i32 uses | 8 ; instruction is alrady sign extended. Sign extension to 4 x i32 uses |
| 11 ; the pslld instruction. | 9 ; the pslld instruction. |
| 12 define <4 x i32> @sextElimination(<4 x float> %a, <4 x float> %b) { | 10 define <4 x i32> @sextElimination(<4 x float> %a, <4 x float> %b) { |
| 13 entry: | 11 entry: |
| 14 %res.trunc = fcmp oeq <4 x float> %a, %b | 12 %res.trunc = fcmp oeq <4 x float> %a, %b |
| 15 %res = sext <4 x i1> %res.trunc to <4 x i32> | 13 %res = sext <4 x i1> %res.trunc to <4 x i32> |
| 16 ret <4 x i32> %res | 14 ret <4 x i32> %res |
| 17 ; CHECK-LABEL: sextElimination | 15 ; CHECK-LABEL: sextElimination |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 159 } | 157 } |
| 160 | 158 |
| 161 define <4 x i32> @fcmpUnoVector(<4 x float> %a, <4 x float> %b) { | 159 define <4 x i32> @fcmpUnoVector(<4 x float> %a, <4 x float> %b) { |
| 162 entry: | 160 entry: |
| 163 %res.trunc = fcmp uno <4 x float> %a, %b | 161 %res.trunc = fcmp uno <4 x float> %a, %b |
| 164 %res = sext <4 x i1> %res.trunc to <4 x i32> | 162 %res = sext <4 x i1> %res.trunc to <4 x i32> |
| 165 ret <4 x i32> %res | 163 ret <4 x i32> %res |
| 166 ; CHECK-LABEL: fcmpUnoVector | 164 ; CHECK-LABEL: fcmpUnoVector |
| 167 ; CHECK: cmpunordps | 165 ; CHECK: cmpunordps |
| 168 } | 166 } |
| OLD | NEW |