brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · 721ea07 Raw
106 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc  -O0 -mtriple=mipsel-linux-gnu -global-isel  -verify-machineinstrs %s -o -| FileCheck %s -check-prefixes=MIPS323 4define zeroext i8 @_16_bit_positive_offset(ptr %a) {5; MIPS32-LABEL: _16_bit_positive_offset:6; MIPS32:       # %bb.0: # %entry7; MIPS32-NEXT:    lbu $2, 32767($4)8; MIPS32-NEXT:    jr $ra9; MIPS32-NEXT:    nop10entry:11  %arrayidx = getelementptr inbounds i8, ptr %a, i32 3276712  %0 = load i8, ptr %arrayidx13  ret i8 %014}15 16define void @_16_bit_negative_offset(i8 %val, ptr %a) {17; MIPS32-LABEL: _16_bit_negative_offset:18; MIPS32:       # %bb.0: # %entry19; MIPS32-NEXT:    sb $4, -32768($5)20; MIPS32-NEXT:    jr $ra21; MIPS32-NEXT:    nop22entry:23  %arrayidx = getelementptr inbounds i8, ptr %a, i32 -3276824  store i8 %val, ptr %arrayidx25  ret void26}27 28define void @_large_positive_offset(i8 %val, ptr %a) {29; MIPS32-LABEL: _large_positive_offset:30; MIPS32:       # %bb.0: # %entry31; MIPS32-NEXT:    ori $1, $zero, 3276832; MIPS32-NEXT:    addu $1, $5, $133; MIPS32-NEXT:    sb $4, 0($1)34; MIPS32-NEXT:    jr $ra35; MIPS32-NEXT:    nop36entry:37  %arrayidx = getelementptr inbounds i8, ptr %a, i32 3276838  store i8 %val, ptr %arrayidx39  ret void40}41 42define signext i8 @_large_negative_offset(ptr %a) {43; MIPS32-LABEL: _large_negative_offset:44; MIPS32:       # %bb.0: # %entry45; MIPS32-NEXT:    lui $1, 6553546; MIPS32-NEXT:    ori $1, $1, 3276747; MIPS32-NEXT:    addu $1, $4, $148; MIPS32-NEXT:    lb $2, 0($1)49; MIPS32-NEXT:    jr $ra50; MIPS32-NEXT:    nop51entry:52  %arrayidx = getelementptr inbounds i8, ptr %a, i32 -3276953  %0 = load i8, ptr %arrayidx54  ret i8 %055}56 57define float @fold_f32_load(ptr %a) {58; MIPS32-LABEL: fold_f32_load:59; MIPS32:       # %bb.0: # %entry60; MIPS32-NEXT:    lwc1 $f0, 40($4)61; MIPS32-NEXT:    jr $ra62; MIPS32-NEXT:    nop63entry:64  %arrayidx = getelementptr inbounds float, ptr %a, i32 1065  %0 = load float, ptr %arrayidx66  ret float %067}68 69define void @fold_f64_store(double %val, ptr %a) {70; MIPS32-LABEL: fold_f64_store:71; MIPS32:       # %bb.0: # %entry72; MIPS32-NEXT:    sdc1 $f12, -80($6)73; MIPS32-NEXT:    jr $ra74; MIPS32-NEXT:    nop75entry:76  %arrayidx = getelementptr inbounds double, ptr %a, i32 -1077  store double %val, ptr %arrayidx78  ret void79}80 81define i16 @fold_i16_load(ptr %a) {82; MIPS32-LABEL: fold_i16_load:83; MIPS32:       # %bb.0: # %entry84; MIPS32-NEXT:    lhu $2, -20($4)85; MIPS32-NEXT:    jr $ra86; MIPS32-NEXT:    nop87entry:88  %arrayidx = getelementptr inbounds i16, ptr %a, i32 -1089  %0 = load i16, ptr %arrayidx90  ret i16 %091}92 93define void @fold_i32_store(i32 %val, ptr %a) {94; MIPS32-LABEL: fold_i32_store:95; MIPS32:       # %bb.0: # %entry96; MIPS32-NEXT:    sw $4, 40($5)97; MIPS32-NEXT:    jr $ra98; MIPS32-NEXT:    nop99entry:100  %arrayidx = getelementptr inbounds i32, ptr %a, i32 10101  store i32 %val, ptr %arrayidx102  ret void103}104 105 106