68 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -verify-machineinstrs -mtriple=x86_64-unknown-unknown -mcpu=generic -mattr=+avx512f -fast-isel --fast-isel-abort=1 < %s | FileCheck %s --check-prefix=ALL3 4 5define double @long_to_double_rr(i64 %a) {6; ALL-LABEL: long_to_double_rr:7; ALL: # %bb.0: # %entry8; ALL-NEXT: vcvtusi2sd %rdi, %xmm15, %xmm09; ALL-NEXT: retq10entry:11 %0 = uitofp i64 %a to double12 ret double %013}14 15define double @long_to_double_rm(ptr %a) {16; ALL-LABEL: long_to_double_rm:17; ALL: # %bb.0: # %entry18; ALL-NEXT: vcvtusi2sdq (%rdi), %xmm15, %xmm019; ALL-NEXT: retq20entry:21 %0 = load i64, ptr %a22 %1 = uitofp i64 %0 to double23 ret double %124}25 26define double @long_to_double_rm_optsize(ptr %a) optsize {27; ALL-LABEL: long_to_double_rm_optsize:28; ALL: # %bb.0: # %entry29; ALL-NEXT: vcvtusi2sdq (%rdi), %xmm15, %xmm030; ALL-NEXT: retq31entry:32 %0 = load i64, ptr %a33 %1 = uitofp i64 %0 to double34 ret double %135}36 37define float @long_to_float_rr(i64 %a) {38; ALL-LABEL: long_to_float_rr:39; ALL: # %bb.0: # %entry40; ALL-NEXT: vcvtusi2ss %rdi, %xmm15, %xmm041; ALL-NEXT: retq42entry:43 %0 = uitofp i64 %a to float44 ret float %045}46 47define float @long_to_float_rm(ptr %a) {48; ALL-LABEL: long_to_float_rm:49; ALL: # %bb.0: # %entry50; ALL-NEXT: vcvtusi2ssq (%rdi), %xmm15, %xmm051; ALL-NEXT: retq52entry:53 %0 = load i64, ptr %a54 %1 = uitofp i64 %0 to float55 ret float %156}57 58define float @long_to_float_rm_optsize(ptr %a) optsize {59; ALL-LABEL: long_to_float_rm_optsize:60; ALL: # %bb.0: # %entry61; ALL-NEXT: vcvtusi2ssq (%rdi), %xmm15, %xmm062; ALL-NEXT: retq63entry:64 %0 = load i64, ptr %a65 %1 = uitofp i64 %0 to float66 ret float %167}68