brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.0 KiB · 0e13630 Raw
139 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mtriple=powerpc-ibm-aix-xcoff -verify-machineinstrs < %s -mcpu=pwr7 | FileCheck %s --check-prefix=AIX323; RUN: llc -mtriple=powerpc64-ibm-aix-xcoff -verify-machineinstrs < %s -mcpu=pwr7 | FileCheck %s --check-prefix=AIX644; RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -verify-machineinstrs < %s -mcpu=pwr7 | FileCheck %s --check-prefix=LE5 6define ptr @frame_1(i32 signext %num) nounwind {7; AIX32-LABEL: frame_1:8; AIX32:       # %bb.0: # %entry9; AIX32-NEXT:    stw 31, -4(1)10; AIX32-NEXT:    stwu 1, -48(1)11; AIX32-NEXT:    addi 3, 3, 1512; AIX32-NEXT:    mr 31, 113; AIX32-NEXT:    addi 4, 31, 4814; AIX32-NEXT:    rlwinm 3, 3, 0, 0, 2715; AIX32-NEXT:    neg 3, 316; AIX32-NEXT:    stwux 4, 1, 317; AIX32-NEXT:    addi 3, 1, 3218; AIX32-NEXT:    lbz 4, 0(3)19; AIX32-NEXT:    addi 4, 4, 120; AIX32-NEXT:    stb 4, 0(3)21; AIX32-NEXT:    lwz 3, 0(1)22; AIX32-NEXT:    lwz 1, 0(1)23; AIX32-NEXT:    lwz 31, -4(1)24; AIX32-NEXT:    blr25;26; AIX64-LABEL: frame_1:27; AIX64:       # %bb.0: # %entry28; AIX64-NEXT:    std 31, -8(1)29; AIX64-NEXT:    stdu 1, -64(1)30; AIX64-NEXT:    addi 3, 3, 1531; AIX64-NEXT:    mr 31, 132; AIX64-NEXT:    addi 4, 31, 6433; AIX64-NEXT:    rldicr 3, 3, 0, 5934; AIX64-NEXT:    neg 3, 335; AIX64-NEXT:    stdux 4, 1, 336; AIX64-NEXT:    addi 3, 1, 4837; AIX64-NEXT:    lbz 4, 0(3)38; AIX64-NEXT:    addi 4, 4, 139; AIX64-NEXT:    stb 4, 0(3)40; AIX64-NEXT:    ld 3, 0(1)41; AIX64-NEXT:    ld 1, 0(1)42; AIX64-NEXT:    ld 31, -8(1)43; AIX64-NEXT:    blr44;45; LE-LABEL: frame_1:46; LE:       # %bb.0: # %entry47; LE-NEXT:    std 31, -8(1)48; LE-NEXT:    stdu 1, -48(1)49; LE-NEXT:    addi 3, 3, 1550; LE-NEXT:    mr 31, 151; LE-NEXT:    addi 4, 31, 4852; LE-NEXT:    rldicr 3, 3, 0, 5953; LE-NEXT:    neg 3, 354; LE-NEXT:    stdux 4, 1, 355; LE-NEXT:    addi 3, 1, 3256; LE-NEXT:    lbz 4, 0(3)57; LE-NEXT:    addi 4, 4, 158; LE-NEXT:    stb 4, 0(3)59; LE-NEXT:    ld 3, 0(1)60; LE-NEXT:    ld 1, 0(1)61; LE-NEXT:    ld 31, -8(1)62; LE-NEXT:    blr63entry:64  %conv = sext i32 %num to i6465  %0 = alloca i8, i64 %conv, align 1666  %1 = load volatile i8, ptr %0, align 1667  %inc = add i8 %1, 168  store volatile i8 %inc, ptr %0, align 1669  %2 = tail call ptr @llvm.frameaddress.p0(i32 1)70  ret ptr %271}72 73define ptr @frame_0(i32 signext %num) nounwind {74; AIX32-LABEL: frame_0:75; AIX32:       # %bb.0: # %entry76; AIX32-NEXT:    stw 31, -4(1)77; AIX32-NEXT:    stwu 1, -48(1)78; AIX32-NEXT:    addi 3, 3, 1579; AIX32-NEXT:    mr 31, 180; AIX32-NEXT:    addi 4, 31, 4881; AIX32-NEXT:    rlwinm 3, 3, 0, 0, 2782; AIX32-NEXT:    neg 3, 383; AIX32-NEXT:    stwux 4, 1, 384; AIX32-NEXT:    addi 3, 1, 3285; AIX32-NEXT:    lbz 4, 0(3)86; AIX32-NEXT:    addi 4, 4, 187; AIX32-NEXT:    stb 4, 0(3)88; AIX32-NEXT:    mr 3, 189; AIX32-NEXT:    lwz 1, 0(1)90; AIX32-NEXT:    lwz 31, -4(1)91; AIX32-NEXT:    blr92;93; AIX64-LABEL: frame_0:94; AIX64:       # %bb.0: # %entry95; AIX64-NEXT:    std 31, -8(1)96; AIX64-NEXT:    stdu 1, -64(1)97; AIX64-NEXT:    addi 3, 3, 1598; AIX64-NEXT:    mr 31, 199; AIX64-NEXT:    addi 4, 31, 64100; AIX64-NEXT:    rldicr 3, 3, 0, 59101; AIX64-NEXT:    neg 3, 3102; AIX64-NEXT:    stdux 4, 1, 3103; AIX64-NEXT:    addi 3, 1, 48104; AIX64-NEXT:    lbz 4, 0(3)105; AIX64-NEXT:    addi 4, 4, 1106; AIX64-NEXT:    stb 4, 0(3)107; AIX64-NEXT:    mr 3, 1108; AIX64-NEXT:    ld 1, 0(1)109; AIX64-NEXT:    ld 31, -8(1)110; AIX64-NEXT:    blr111;112; LE-LABEL: frame_0:113; LE:       # %bb.0: # %entry114; LE-NEXT:    std 31, -8(1)115; LE-NEXT:    stdu 1, -48(1)116; LE-NEXT:    addi 3, 3, 15117; LE-NEXT:    mr 31, 1118; LE-NEXT:    addi 4, 31, 48119; LE-NEXT:    rldicr 3, 3, 0, 59120; LE-NEXT:    neg 3, 3121; LE-NEXT:    stdux 4, 1, 3122; LE-NEXT:    addi 3, 1, 32123; LE-NEXT:    lbz 4, 0(3)124; LE-NEXT:    addi 4, 4, 1125; LE-NEXT:    stb 4, 0(3)126; LE-NEXT:    mr 3, 1127; LE-NEXT:    ld 1, 0(1)128; LE-NEXT:    ld 31, -8(1)129; LE-NEXT:    blr130entry:131  %conv = sext i32 %num to i64132  %0 = alloca i8, i64 %conv, align 16133  %1 = load volatile i8, ptr %0, align 16134  %inc = add i8 %1, 1135  store volatile i8 %inc, ptr %0, align 16136  %2 = tail call ptr @llvm.frameaddress.p0(i32 0)137  ret ptr %2138}139