1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -O0 -mtriple=mipsel-linux-gnu -run-pass=legalizer -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=MIPS32 3--- 4name: load_i32 5alignment: 4 6tracksRegLiveness: true 7body: | 8 bb.1.entry: 9 liveins: $a0 10 11 ; MIPS32-LABEL: name: load_i32 12 ; MIPS32: liveins: $a0 13 ; MIPS32-NEXT: {{ $}} 14 ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $a0 15 ; MIPS32-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p0) :: (load (s32)) 16 ; MIPS32-NEXT: $v0 = COPY [[LOAD]](s32) 17 ; MIPS32-NEXT: RetRA implicit $v0 18 %0:_(p0) = COPY $a0 19 %1:_(s32) = G_LOAD %0(p0) :: (load (s32)) 20 $v0 = COPY %1(s32) 21 RetRA implicit $v0 22 23... 24--- 25name: load_i64 26alignment: 4 27tracksRegLiveness: true 28body: | 29 bb.1.entry: 30 liveins: $a0 31 32 ; MIPS32-LABEL: name: load_i64 33 ; MIPS32: liveins: $a0 34 ; MIPS32-NEXT: {{ $}} 35 ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $a0 36 ; MIPS32-NEXT: [[LOAD:%[0-9]+]]:_(s64) = G_LOAD [[COPY]](p0) :: (load (s64)) 37 ; MIPS32-NEXT: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[LOAD]](s64) 38 ; MIPS32-NEXT: $v0 = COPY [[UV]](s32) 39 ; MIPS32-NEXT: $v1 = COPY [[UV1]](s32) 40 ; MIPS32-NEXT: RetRA implicit $v0, implicit $v1 41 %0:_(p0) = COPY $a0 42 %1:_(s64) = G_LOAD %0(p0) :: (load (s64)) 43 %2:_(s32), %3:_(s32) = G_UNMERGE_VALUES %1(s64) 44 $v0 = COPY %2(s32) 45 $v1 = COPY %3(s32) 46 RetRA implicit $v0, implicit $v1 47 48... 49--- 50name: load_float 51alignment: 4 52tracksRegLiveness: true 53body: | 54 bb.1.entry: 55 liveins: $a0 56 57 ; MIPS32-LABEL: name: load_float 58 ; MIPS32: liveins: $a0 59 ; MIPS32-NEXT: {{ $}} 60 ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $a0 61 ; MIPS32-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p0) :: (load (s32)) 62 ; MIPS32-NEXT: $f0 = COPY [[LOAD]](s32) 63 ; MIPS32-NEXT: RetRA implicit $f0 64 %0:_(p0) = COPY $a0 65 %1:_(s32) = G_LOAD %0(p0) :: (load (s32)) 66 $f0 = COPY %1(s32) 67 RetRA implicit $f0 68 69... 70--- 71name: load_double 72alignment: 4 73tracksRegLiveness: true 74body: | 75 bb.1.entry: 76 liveins: $a0 77 78 ; MIPS32-LABEL: name: load_double 79 ; MIPS32: liveins: $a0 80 ; MIPS32-NEXT: {{ $}} 81 ; MIPS32-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $a0 82 ; MIPS32-NEXT: [[LOAD:%[0-9]+]]:_(s64) = G_LOAD [[COPY]](p0) :: (load (s64)) 83 ; MIPS32-NEXT: $d0 = COPY [[LOAD]](s64) 84 ; MIPS32-NEXT: RetRA implicit $d0 85 %0:_(p0) = COPY $a0 86 %1:_(s64) = G_LOAD %0(p0) :: (load (s64)) 87 $d0 = COPY %1(s64) 88 RetRA implicit $d0 89 90... 91