1; Show that we know how to translate vmov for casts. 2 3; NOTE: Restricts S register to one that will better test S register encodings. 4 5; REQUIRES: allow_dump 6 7; Compile using standalone assembler. 8; RUN: %p2i --filetype=asm -i %s --target=arm32 --args -Om1 \ 9; RUN: -reg-use s20,s22,d20,d22 \ 10; RUN: | FileCheck %s --check-prefix=ASM 11 12; Show bytes in assembled standalone code. 13; RUN: %p2i --filetype=asm -i %s --target=arm32 --assemble --disassemble \ 14; RUN: --args -Om1 \ 15; RUN: -reg-use s20,s22,d20,d22 \ 16; RUN: | FileCheck %s --check-prefix=DIS 17 18; Compile using integrated assembler. 19; RUN: %p2i --filetype=iasm -i %s --target=arm32 --args -Om1 \ 20; RUN: -reg-use s20,s22,d20,d22 \ 21; RUN: | FileCheck %s --check-prefix=IASM 22 23; Show bytes in assembled integrated code. 24; RUN: %p2i --filetype=iasm -i %s --target=arm32 --assemble --disassemble \ 25; RUN: --args -Om1 \ 26; RUN: -reg-use s20,s22,d20,d22 \ 27; RUN: | FileCheck %s --check-prefix=DIS 28 29define internal float @castToFloat(i32 %a) { 30; ASM-LABEL: castToFloat: 31; DIS-LABEL: 00000000 <castToFloat>: 32; IASM-LABEL: castToFloat: 33 34entry: 35; ASM: .LcastToFloat$entry: 36; IASM: .LcastToFloat$entry: 37 38 %0 = bitcast i32 %a to float 39 40; ASM: vmov s20, r0 41; DIS: 10: ee0a0a10 42; IASM-NOT: vmov 43 44 ret float %0 45} 46