1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc -O0 -mtriple=mipsel-linux-gnu -global-isel -verify-machineinstrs %s -o -| FileCheck %s -check-prefixes=MIPS32 3 4define i8 @load1_s8_to_load1_s32(i8* %px) { 5; MIPS32-LABEL: load1_s8_to_load1_s32: 6; MIPS32: # %bb.0: # %entry 7; MIPS32-NEXT: lbu $2, 0($4) 8; MIPS32-NEXT: jr $ra 9; MIPS32-NEXT: nop 10entry: 11 %0 = load i8, i8* %px 12 ret i8 %0 13} 14 15define i16 @load2_s16_to_load2_s32(i16* %px) { 16; MIPS32-LABEL: load2_s16_to_load2_s32: 17; MIPS32: # %bb.0: # %entry 18; MIPS32-NEXT: lhu $2, 0($4) 19; MIPS32-NEXT: jr $ra 20; MIPS32-NEXT: nop 21entry: 22 %0 = load i16, i16* %px 23 ret i16 %0 24} 25 26define void @load_store_i1(i1* %px, i1* %py) { 27; MIPS32-LABEL: load_store_i1: 28; MIPS32: # %bb.0: # %entry 29; MIPS32-NEXT: lbu $1, 0($5) 30; MIPS32-NEXT: andi $1, $1, 1 31; MIPS32-NEXT: andi $1, $1, 1 32; MIPS32-NEXT: sb $1, 0($4) 33; MIPS32-NEXT: jr $ra 34; MIPS32-NEXT: nop 35entry: 36 %0 = load i1, i1* %py 37 store i1 %0, i1* %px 38 ret void 39} 40 41define void @load_store_i8(i8* %px, i8* %py) { 42; MIPS32-LABEL: load_store_i8: 43; MIPS32: # %bb.0: # %entry 44; MIPS32-NEXT: lbu $1, 0($5) 45; MIPS32-NEXT: sb $1, 0($4) 46; MIPS32-NEXT: jr $ra 47; MIPS32-NEXT: nop 48entry: 49 %0 = load i8, i8* %py 50 store i8 %0, i8* %px 51 ret void 52} 53 54define void @load_store_i16(i16* %px, i16* %py) { 55; MIPS32-LABEL: load_store_i16: 56; MIPS32: # %bb.0: # %entry 57; MIPS32-NEXT: lhu $1, 0($5) 58; MIPS32-NEXT: sh $1, 0($4) 59; MIPS32-NEXT: jr $ra 60; MIPS32-NEXT: nop 61entry: 62 %0 = load i16, i16* %py 63 store i16 %0, i16* %px 64 ret void 65} 66 67define void @load_store_i32(i32* %px, i32* %py) { 68; MIPS32-LABEL: load_store_i32: 69; MIPS32: # %bb.0: # %entry 70; MIPS32-NEXT: lw $1, 0($5) 71; MIPS32-NEXT: sw $1, 0($4) 72; MIPS32-NEXT: jr $ra 73; MIPS32-NEXT: nop 74entry: 75 %0 = load i32, i32* %py 76 store i32 %0, i32* %px 77 ret void 78} 79