brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 26b7ca3 Raw
53 lines · plain
1# RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass=prologepilog %s -o - | FileCheck %s2--- |3    define void @hasBasepointer() #0 { ret void }4    define void @hasBasepointer_sme_streaming() #1 { ret void }5 6    attributes #0 = { "target-features"="+sve" }7    attributes #1 = { "target-features"="+sme" "aarch64_pstate_sm_enabled" }8...9---10# This test verifies that the basepointer is available in presence of SVE stack objects.11name: hasBasepointer12# CHECK-LABEL: name: hasBasepointer13# CHECK: bb.0:14# CHECK:      $sp = frame-setup SUBXri $sp, 16, 015# CHECK-NEXT: $sp = frame-setup ADDVL_XXI $sp, -116# CHECK-NEXT: $x19 = ADDXri $sp, 0, 017# CHECK:      STRXui $x0, $x19, 018tracksRegLiveness: true19frameInfo:20  isFrameAddressTaken: true21stack:22  - { id: 0, type: variable-sized,  alignment: 1 }23  - { id: 1, name: '', size: 16, alignment: 8 }24  - { id: 2, stack-id: scalable-vector, size: 16, alignment: 16 }25body: |26  bb.0:27    liveins: $x028    STRXui $x0, %stack.1, 029    RET_ReallyLR30...31---32# Likewise with only SME with a streaming function.33name: hasBasepointer_sme_streaming34# CHECK-LABEL: name: hasBasepointer_sme_streaming35# CHECK: bb.0:36# CHECK:      $sp = frame-setup SUBXri $sp, 16, 037# CHECK-NEXT: $sp = frame-setup ADDVL_XXI $sp, -138# CHECK-NEXT: $x19 = ADDXri $sp, 0, 039# CHECK:      STRXui $x0, $x19, 040tracksRegLiveness: true41frameInfo:42  isFrameAddressTaken: true43stack:44  - { id: 0, type: variable-sized,  alignment: 1 }45  - { id: 1, name: '', size: 16, alignment: 8 }46  - { id: 2, stack-id: scalable-vector, size: 16, alignment: 16 }47body: |48  bb.0:49    liveins: $x050    STRXui $x0, %stack.1, 051    RET_ReallyLR52...53