38 lines · plain
1# RUN: llc -mtriple=x86_64-- -run-pass=regallocfast -o - %s | FileCheck %s2# RUN: llc -mtriple=x86_64-- -passes=regallocfast -o - %s | FileCheck %s3 4# If the tied use is undef value, fastregalloc should free the def register.5# There is no reload needed for the undef value.6...7---8name: foo9alignment: 1610tracksRegLiveness: true11registers:12 - { id: 0, class: vr128 }13frameInfo:14 maxAlignment: 1615stack:16 - { id: 0, size: 64, alignment: 16 }17 - { id: 1, size: 16, alignment: 16 }18machineFunctionInfo: {}19body: |20 bb.0.entry:21 ; CHECK-LABEL: bb.0.entry22 ; CHECK-NEXT: renamable $xmm0 = PXORrr undef renamable $xmm0, undef renamable $xmm023 ; CHECK-NEXT: MOVAPSmr %stack.1, 1, $noreg, 0, $noreg, renamable $xmm024 ; CHECK-NEXT: MOVAPSmr %stack.0, 1, $noreg, 0, $noreg, renamable $xmm025 ; CHECK-NEXT: MOVAPSmr %stack.0, 1, $noreg, 16, $noreg, renamable $xmm026 ; CHECK-NEXT: MOVAPSmr %stack.0, 1, $noreg, 32, $noreg, renamable $xmm027 ; CHECK-NEXT: MOVAPSmr %stack.0, 1, $noreg, 48, $noreg, killed renamable $xmm028 29 %0:vr128 = PXORrr undef %0, undef %030 MOVAPSmr %stack.1, 1, $noreg, 0, $noreg, %031 MOVAPSmr %stack.0, 1, $noreg, 0, $noreg, %032 MOVAPSmr %stack.0, 1, $noreg, 16, $noreg, %033 MOVAPSmr %stack.0, 1, $noreg, 32, $noreg, %034 MOVAPSmr %stack.0, 1, $noreg, 48, $noreg, killed %035 RET 036 37...38