1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2# RUN: llc -O0 -mtriple=mipsel-linux-gnu -run-pass=mips-prelegalizer-combiner -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=MIPS32
3--- |
4
5  define void @load1_s8_to_load1_s32(ptr %px) {entry: ret void}
6  define void @load2_s16_to_load2_s32(ptr %px) {entry: ret void}
7
8...
9---
10name:            load1_s8_to_load1_s32
11alignment:       4
12tracksRegLiveness: true
13body:             |
14  bb.1.entry:
15    liveins: $a0
16
17    ; MIPS32-LABEL: name: load1_s8_to_load1_s32
18    ; MIPS32: liveins: $a0
19    ; MIPS32: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
20    ; MIPS32: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p0) :: (load (s8) from %ir.px)
21    ; MIPS32: $v0 = COPY [[LOAD]](s32)
22    ; MIPS32: RetRA implicit $v0
23    %0:_(p0) = COPY $a0
24    %1:_(s8) = G_LOAD %0(p0) :: (load (s8) from %ir.px)
25    %2:_(s32) = G_ANYEXT %1(s8)
26    $v0 = COPY %2(s32)
27    RetRA implicit $v0
28
29...
30---
31name:            load2_s16_to_load2_s32
32alignment:       4
33tracksRegLiveness: true
34body:             |
35  bb.1.entry:
36    liveins: $a0
37
38    ; MIPS32-LABEL: name: load2_s16_to_load2_s32
39    ; MIPS32: liveins: $a0
40    ; MIPS32: [[COPY:%[0-9]+]]:_(p0) = COPY $a0
41    ; MIPS32: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p0) :: (load (s16) from %ir.px)
42    ; MIPS32: $v0 = COPY [[LOAD]](s32)
43    ; MIPS32: RetRA implicit $v0
44    %0:_(p0) = COPY $a0
45    %1:_(s16) = G_LOAD %0(p0) :: (load (s16) from %ir.px)
46    %2:_(s32) = G_ANYEXT %1(s16)
47    $v0 = COPY %2(s32)
48    RetRA implicit $v0
49
50...
51