| 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 --filetype=obj --disassemble -a -O2 | FileCheck %s | 4 ; RUN: %p2i -i %s --filetype=obj --disassemble -a -O2 | FileCheck %s |
| 5 ; RUN: %p2i -i %s --filetype=obj --disassemble -a -Om1 | FileCheck %s | 5 ; RUN: %p2i -i %s --filetype=obj --disassemble -a -Om1 | FileCheck %s |
| 6 | 6 |
| 7 ; RUN: %if --need=target_MIPS32 --need=allow_dump \ | 7 ; RUN: %if --need=target_MIPS32 --need=allow_dump \ |
| 8 ; RUN: --command %p2i --filetype=asm --assemble --disassemble --target mips32\ | 8 ; RUN: --command %p2i --filetype=asm --assemble --disassemble --target mips32\ |
| 9 ; RUN: -i %s --args -O2 --skip-unimplemented \ | 9 ; RUN: -i %s --args -O2 \ |
| 10 ; RUN: | %if --need=target_MIPS32 --need=allow_dump \ | 10 ; RUN: | %if --need=target_MIPS32 --need=allow_dump \ |
| 11 ; RUN: --command FileCheck --check-prefix MIPS32 %s | 11 ; RUN: --command FileCheck --check-prefix MIPS32 %s |
| 12 | 12 |
| 13 ; Check that sext elimination occurs when the result of the comparison | 13 ; Check that sext elimination occurs when the result of the comparison |
| 14 ; instruction is alrady sign extended. Sign extension to 4 x i32 uses | 14 ; instruction is alrady sign extended. Sign extension to 4 x i32 uses |
| 15 ; the pslld instruction. | 15 ; the pslld instruction. |
| 16 define internal <4 x i32> @sextElimination(<4 x float> %a, <4 x float> %b) { | 16 define internal <4 x i32> @sextElimination(<4 x float> %a, <4 x float> %b) { |
| 17 entry: | 17 entry: |
| 18 %res.trunc = fcmp oeq <4 x float> %a, %b | 18 %res.trunc = fcmp oeq <4 x float> %a, %b |
| 19 %res = sext <4 x i1> %res.trunc to <4 x i32> | 19 %res = sext <4 x i1> %res.trunc to <4 x i32> |
| (...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 368 ; MIPS32: movf [[R]],zero,$fcc0 | 368 ; MIPS32: movf [[R]],zero,$fcc0 |
| 369 ; MIPS32: c.un.s | 369 ; MIPS32: c.un.s |
| 370 ; MIPS32: li [[R:.*]],1 | 370 ; MIPS32: li [[R:.*]],1 |
| 371 ; MIPS32: movf [[R]],zero,$fcc0 | 371 ; MIPS32: movf [[R]],zero,$fcc0 |
| 372 ; MIPS32: c.un.s | 372 ; MIPS32: c.un.s |
| 373 ; MIPS32: li [[R:.*]],1 | 373 ; MIPS32: li [[R:.*]],1 |
| 374 ; MIPS32: movf [[R]],zero,$fcc0 | 374 ; MIPS32: movf [[R]],zero,$fcc0 |
| 375 ; MIPS32: c.un.s | 375 ; MIPS32: c.un.s |
| 376 ; MIPS32: li [[R:.*]],1 | 376 ; MIPS32: li [[R:.*]],1 |
| 377 ; MIPS32: movf [[R]],zero,$fcc0 | 377 ; MIPS32: movf [[R]],zero,$fcc0 |
| OLD | NEW |