Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 ; Show that we know how to translate converting signed integer to floast. | 1 ; Show that we know how to translate converting signed integer to floast. |
| 2 | 2 |
| 3 ; REQUIRES: allow_dump | 3 ; REQUIRES: allow_dump |
| 4 | 4 |
| 5 ; Compile using standalone assembler. | 5 ; Compile using standalone assembler. |
| 6 ; RUN: %p2i --filetype=asm -i %s --target=arm32 --args -Om1 \ | 6 ; RUN: %p2i --filetype=asm -i %s --target=arm32 --args -Om1 \ |
| 7 ; RUN: --reg-use=s20 | FileCheck %s --check-prefix=ASM | 7 ; RUN: --reg-use=s20 | FileCheck %s --check-prefix=ASM |
| 8 | 8 |
| 9 ; Show bytes in assembled standalone code. | 9 ; Show bytes in assembled standalone code. |
| 10 ; RUN: %p2i --filetype=asm -i %s --target=arm32 --assemble --disassemble \ | 10 ; RUN: %p2i --filetype=asm -i %s --target=arm32 --assemble --disassemble \ |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 29 ; IASM: .LSignedIntToFloat$entry: | 29 ; IASM: .LSignedIntToFloat$entry: |
| 30 | 30 |
| 31 %v = sitofp i32 17 to float | 31 %v = sitofp i32 17 to float |
| 32 | 32 |
| 33 ; ASM: vcvt.f32.s32 s20, s20 | 33 ; ASM: vcvt.f32.s32 s20, s20 |
| 34 ; DIS: 10: eeb8aaca | 34 ; DIS: 10: eeb8aaca |
| 35 ; IASM-NOT: vcvt | 35 ; IASM-NOT: vcvt |
| 36 | 36 |
| 37 ret float %v | 37 ret float %v |
| 38 } | 38 } |
| 39 | |
| 40 define internal <4 x float> @IntVecToFloatVec(<4 x i32> %a) { | |
| 41 ; ASM-LABEL: IntVecToFloatVec: | |
| 42 ; DIS-LABEL: 00000030 <IntVecToFloatVec>: | |
| 43 ; IASM-LABEL: IntVecToFloatVec: | |
| 44 | |
| 45 %v = sitofp <4 x i32> %a to <4 x float> | |
| 46 | |
| 47 ; ASM: vcvt.f32.s32 q0, q0 | |
| 48 ; DIS: 40: f3bb0640 | |
| 49 ; IASM-NOT: vcvt.f32.s32 | |
|
Jim Stichnoth
2016/04/14 21:17:16
It might be "safer" to check against just "vcvt" l
John
2016/04/14 21:22:11
Done (in the next CL.)
| |
| 50 | |
| 51 ret <4 x float> %v | |
| 52 } | |
| OLD | NEW |