| OLD | NEW |
| 1 ; Show that we know how to translate converting unsigned integer to float. | 1 ; Show that we know how to translate converting unsigned integer to float. |
| 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 = uitofp i32 17 to float | 31 %v = uitofp i32 17 to float |
| 32 | 32 |
| 33 ; ASM: vcvt.f32.u32 s20, s20 | 33 ; ASM: vcvt.f32.u32 s20, s20 |
| 34 ; DIS: 10: eeb8aa4a | 34 ; DIS: 10: eeb8aa4a |
| 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> @UIntVecToFloatVec(<4 x i32> %a) { |
| 41 ; ASM-LABEL: UIntVecToFloatVec: |
| 42 ; DIS-LABEL: 00000030 <UIntVecToFloatVec>: |
| 43 ; IASM-LABEL: UIntVecToFloatVec: |
| 44 |
| 45 %v = uitofp <4 x i32> %a to <4 x float> |
| 46 |
| 47 ; ASM: vcvt.f32.u32 q0, q0 |
| 48 ; DIS: 40: f3bb06c0 |
| 49 ; IASM-NOT: vcvt.f32.u32 |
| 50 |
| 51 ret <4 x float> %v |
| 52 } |
| OLD | NEW |