brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.2 KiB · 882eb2a Raw
171 lines · plain
1; RUN: llc -verify-machineinstrs < %s | FileCheck %s2 3target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v128:128:128-n32:64"4target triple = "powerpc64-unknown-linux-gnu"5 6define ptr @test_stbu(ptr %base, i8 zeroext %val) nounwind {7entry:8  %arrayidx = getelementptr inbounds i8, ptr %base, i64 169  store i8 %val, ptr %arrayidx, align 110  ret ptr %arrayidx11}12; CHECK: @test_stbu13; CHECK: %entry14; CHECK-NEXT: stbu15; CHECK-NEXT: blr16 17define ptr @test_stbux(ptr %base, i8 zeroext %val, i64 %offset) nounwind {18entry:19  %arrayidx = getelementptr inbounds i8, ptr %base, i64 %offset20  store i8 %val, ptr %arrayidx, align 121  ret ptr %arrayidx22}23; CHECK: @test_stbux24; CHECK: %entry25; CHECK-NEXT: stbux26; CHECK-NEXT: blr27 28define ptr @test_sthu(ptr %base, i16 zeroext %val) nounwind {29entry:30  %arrayidx = getelementptr inbounds i16, ptr %base, i64 1631  store i16 %val, ptr %arrayidx, align 232  ret ptr %arrayidx33}34; CHECK: @test_sthu35; CHECK: %entry36; CHECK-NEXT: sthu37; CHECK-NEXT: blr38 39define ptr @test_sthux(ptr %base, i16 zeroext %val, i64 %offset) nounwind {40entry:41  %arrayidx = getelementptr inbounds i16, ptr %base, i64 %offset42  store i16 %val, ptr %arrayidx, align 243  ret ptr %arrayidx44}45; CHECK: @test_sthux46; CHECK: %entry47; CHECK-NEXT: sldi48; CHECK-NEXT: sthux49; CHECK-NEXT: blr50 51define ptr @test_stwu(ptr %base, i32 zeroext %val) nounwind {52entry:53  %arrayidx = getelementptr inbounds i32, ptr %base, i64 1654  store i32 %val, ptr %arrayidx, align 455  ret ptr %arrayidx56}57; CHECK: @test_stwu58; CHECK: %entry59; CHECK-NEXT: stwu60; CHECK-NEXT: blr61 62define ptr @test_stwux(ptr %base, i32 zeroext %val, i64 %offset) nounwind {63entry:64  %arrayidx = getelementptr inbounds i32, ptr %base, i64 %offset65  store i32 %val, ptr %arrayidx, align 466  ret ptr %arrayidx67}68; CHECK: @test_stwux69; CHECK: %entry70; CHECK-NEXT: sldi71; CHECK-NEXT: stwux72; CHECK-NEXT: blr73 74define ptr @test_stbu8(ptr %base, i64 %val) nounwind {75entry:76  %conv = trunc i64 %val to i877  %arrayidx = getelementptr inbounds i8, ptr %base, i64 1678  store i8 %conv, ptr %arrayidx, align 179  ret ptr %arrayidx80}81; CHECK: @test_stbu882; CHECK: %entry83; CHECK-NEXT: stbu84; CHECK-NEXT: blr85 86define ptr @test_stbux8(ptr %base, i64 %val, i64 %offset) nounwind {87entry:88  %conv = trunc i64 %val to i889  %arrayidx = getelementptr inbounds i8, ptr %base, i64 %offset90  store i8 %conv, ptr %arrayidx, align 191  ret ptr %arrayidx92}93; CHECK: @test_stbux894; CHECK: %entry95; CHECK-NEXT: stbux96; CHECK-NEXT: blr97 98define ptr @test_sthu8(ptr %base, i64 %val) nounwind {99entry:100  %conv = trunc i64 %val to i16101  %arrayidx = getelementptr inbounds i16, ptr %base, i64 16102  store i16 %conv, ptr %arrayidx, align 2103  ret ptr %arrayidx104}105; CHECK: @test_sthu106; CHECK: %entry107; CHECK-NEXT: sthu108; CHECK-NEXT: blr109 110define ptr @test_sthux8(ptr %base, i64 %val, i64 %offset) nounwind {111entry:112  %conv = trunc i64 %val to i16113  %arrayidx = getelementptr inbounds i16, ptr %base, i64 %offset114  store i16 %conv, ptr %arrayidx, align 2115  ret ptr %arrayidx116}117; CHECK: @test_sthux118; CHECK: %entry119; CHECK-NEXT: sldi120; CHECK-NEXT: sthux121; CHECK-NEXT: blr122 123define ptr @test_stwu8(ptr %base, i64 %val) nounwind {124entry:125  %conv = trunc i64 %val to i32126  %arrayidx = getelementptr inbounds i32, ptr %base, i64 16127  store i32 %conv, ptr %arrayidx, align 4128  ret ptr %arrayidx129}130; CHECK: @test_stwu131; CHECK: %entry132; CHECK-NEXT: stwu133; CHECK-NEXT: blr134 135define ptr @test_stwux8(ptr %base, i64 %val, i64 %offset) nounwind {136entry:137  %conv = trunc i64 %val to i32138  %arrayidx = getelementptr inbounds i32, ptr %base, i64 %offset139  store i32 %conv, ptr %arrayidx, align 4140  ret ptr %arrayidx141}142; CHECK: @test_stwux143; CHECK: %entry144; CHECK-NEXT: sldi145; CHECK-NEXT: stwux146; CHECK-NEXT: blr147 148define ptr @test_stdu(ptr %base, i64 %val) nounwind {149entry:150  %arrayidx = getelementptr inbounds i64, ptr %base, i64 16151  store i64 %val, ptr %arrayidx, align 8152  ret ptr %arrayidx153}154; CHECK: @test_stdu155; CHECK: %entry156; CHECK-NEXT: stdu157; CHECK-NEXT: blr158 159define ptr @test_stdux(ptr %base, i64 %val, i64 %offset) nounwind {160entry:161  %arrayidx = getelementptr inbounds i64, ptr %base, i64 %offset162  store i64 %val, ptr %arrayidx, align 8163  ret ptr %arrayidx164}165; CHECK: @test_stdux166; CHECK: %entry167; CHECK-NEXT: sldi168; CHECK-NEXT: stdux169; CHECK-NEXT: blr170 171