llvm-project/llvm/test/CodeGen/X86/GlobalISel/select-fpext-scalar.mir

41 lines
977 B
YAML

# RUN: llc -mtriple=x86_64-linux-gnu -global-isel -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=ALL
--- |
define double @test(float %a) {
entry:
%conv = fpext float %a to double
ret double %conv
}
...
---
name: test
# ALL-LABEL: name: test
alignment: 4
legalized: true
regBankSelected: true
# ALL: registers:
# ALL-NEXT: - { id: 0, class: fr32, preferred-register: '' }
# ALL-NEXT: - { id: 1, class: fr64, preferred-register: '' }
registers:
- { id: 0, class: vecr, preferred-register: '' }
- { id: 1, class: vecr, preferred-register: '' }
liveins:
fixedStack:
stack:
constants:
# ALL: %0 = COPY %xmm0
# ALL-NEXT: %1 = CVTSS2SDrr %0
# ALL-NEXT: %xmm0 = COPY %1
# ALL-NEXT: RET 0, implicit %xmm0
body: |
bb.1.entry:
liveins: %xmm0
%0(s32) = COPY %xmm0
%1(s64) = G_FPEXT %0(s32)
%xmm0 = COPY %1(s64)
RET 0, implicit %xmm0
...