brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 334ab61 Raw
36 lines · plain
1# RUN: llc -mtriple=powerpc64le--linux-gnu -stop-after ppc-pre-emit-peephole %s -o - -verify-machineinstrs | FileCheck %s2 3---4# ADDI8 + STFSX can be converted to ADDI8 + STFS even ADDI8 can not be erased.5name: testFwdOperandKilledAfter6# CHECK: name: testFwdOperandKilledAfter7tracksRegLiveness: true8body: |9  bb.0.entry:10    liveins: $x3, $f1, $x511    $x3 = ADDI8 $x5, 10012    STFSX killed $f1, $zero8, $x313    ; CHECK: STFS killed $f1, 100, $x514    STD killed $x3, killed $x5, 10015    ; CHECK: STD killed $x3, killed $x5, 10016    BLR8 implicit $lr8, implicit $rm17...18---19# No workaround needed for 64-bit register when calling readsRegister()20name: testReadsSubRegADDI21# CHECK: name: testReadsSubRegADDI22tracksRegLiveness: true23body: |24  bb.0.entry:25    liveins: $x3, $f1, $x526    $x3 = ADDI8 $x5, 10027    ; Following instruction $r3 also reads $x3, ADDI8 can not be erased28    ; CHECK: $x3 = ADDI8 $x5, 100, implicit-def $r329    STW $r3, $x5, 10030    ; CHECK: STW killed $r3, $x5, 10031    STFSX killed $f1, $zero8, $x332    ; CHECK: STFS killed $f1, 100, $x533    STD $x5, $x5, 10034    BLR8 implicit $lr8, implicit $rm35...36