101 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -O0 -mtriple=mipsel-linux-gnu -run-pass=regbankselect -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=FP323# RUN: llc -O0 -mtriple=mipsel-linux-gnu -mattr=+fp64,+mips32r2 -run-pass=regbankselect -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=FP644--- |5 6 define void @i32tof32() {entry: ret void}7 define void @i32tof64() {entry: ret void}8 define void @u32tof64() {entry: ret void}9 10...11---12name: i32tof3213alignment: 414legalized: true15tracksRegLiveness: true16body: |17 bb.1.entry:18 liveins: $a019 20 ; FP32-LABEL: name: i32tof3221 ; FP32: liveins: $a022 ; FP32: [[COPY:%[0-9]+]]:gprb(s32) = COPY $a023 ; FP32: [[SITOFP:%[0-9]+]]:fprb(s32) = G_SITOFP [[COPY]](s32)24 ; FP32: $f0 = COPY [[SITOFP]](s32)25 ; FP32: RetRA implicit $f026 ; FP64-LABEL: name: i32tof3227 ; FP64: liveins: $a028 ; FP64: [[COPY:%[0-9]+]]:gprb(s32) = COPY $a029 ; FP64: [[SITOFP:%[0-9]+]]:fprb(s32) = G_SITOFP [[COPY]](s32)30 ; FP64: $f0 = COPY [[SITOFP]](s32)31 ; FP64: RetRA implicit $f032 %0:_(s32) = COPY $a033 %1:_(s32) = G_SITOFP %0(s32)34 $f0 = COPY %1(s32)35 RetRA implicit $f036 37...38---39name: i32tof6440alignment: 441legalized: true42tracksRegLiveness: true43body: |44 bb.1.entry:45 liveins: $a046 47 ; FP32-LABEL: name: i32tof6448 ; FP32: liveins: $a049 ; FP32: [[COPY:%[0-9]+]]:gprb(s32) = COPY $a050 ; FP32: [[SITOFP:%[0-9]+]]:fprb(s64) = G_SITOFP [[COPY]](s32)51 ; FP32: $d0 = COPY [[SITOFP]](s64)52 ; FP32: RetRA implicit $d053 ; FP64-LABEL: name: i32tof6454 ; FP64: liveins: $a055 ; FP64: [[COPY:%[0-9]+]]:gprb(s32) = COPY $a056 ; FP64: [[SITOFP:%[0-9]+]]:fprb(s64) = G_SITOFP [[COPY]](s32)57 ; FP64: $d0 = COPY [[SITOFP]](s64)58 ; FP64: RetRA implicit $d059 %0:_(s32) = COPY $a060 %1:_(s64) = G_SITOFP %0(s32)61 $d0 = COPY %1(s64)62 RetRA implicit $d063 64...65---66name: u32tof6467alignment: 468legalized: true69tracksRegLiveness: true70body: |71 bb.1.entry:72 liveins: $a073 74 ; FP32-LABEL: name: u32tof6475 ; FP32: liveins: $a076 ; FP32: [[COPY:%[0-9]+]]:gprb(s32) = COPY $a077 ; FP32: [[C:%[0-9]+]]:gprb(s32) = G_CONSTANT i32 112721920078 ; FP32: [[MV:%[0-9]+]]:fprb(s64) = G_MERGE_VALUES [[COPY]](s32), [[C]](s32)79 ; FP32: [[C1:%[0-9]+]]:fprb(s64) = G_FCONSTANT double 0x433000000000000080 ; FP32: [[FSUB:%[0-9]+]]:fprb(s64) = G_FSUB [[MV]], [[C1]]81 ; FP32: $d0 = COPY [[FSUB]](s64)82 ; FP32: RetRA implicit $d083 ; FP64-LABEL: name: u32tof6484 ; FP64: liveins: $a085 ; FP64: [[COPY:%[0-9]+]]:gprb(s32) = COPY $a086 ; FP64: [[C:%[0-9]+]]:gprb(s32) = G_CONSTANT i32 112721920087 ; FP64: [[MV:%[0-9]+]]:fprb(s64) = G_MERGE_VALUES [[COPY]](s32), [[C]](s32)88 ; FP64: [[C1:%[0-9]+]]:fprb(s64) = G_FCONSTANT double 0x433000000000000089 ; FP64: [[FSUB:%[0-9]+]]:fprb(s64) = G_FSUB [[MV]], [[C1]]90 ; FP64: $d0 = COPY [[FSUB]](s64)91 ; FP64: RetRA implicit $d092 %0:_(s32) = COPY $a093 %2:_(s32) = G_CONSTANT i32 112721920094 %3:_(s64) = G_MERGE_VALUES %0(s32), %2(s32)95 %4:_(s64) = G_FCONSTANT double 0x433000000000000096 %1:_(s64) = G_FSUB %3, %497 $d0 = COPY %1(s64)98 RetRA implicit $d099 100...101