Files
llvm/test/CodeGen/SystemZ/fp-const-12.ll
T
Jonas Paulsson 3044368de2 [SystemZ] Use VGM whenever possible to load FP immediates.
isFPImmLegal() has been extended to recognize certain FP immediates that can
be built with VGM (Vector Generate Mask).

These scalar FP immediates (that were previously loaded from the constant
pool) are now selected as VGMF/VGMG in Select().

Review: Ulrich Weigand
https://reviews.llvm.org/D58003

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@353867 91177308-0d34-0410-b5e6-96231b3b80d8
2019-02-12 18:06:06 +00:00

64 lines
957 B
LLVM

; Test loads of FP constants with VGM.
;
; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 | FileCheck %s
define double @f1() {
; CHECK-LABEL: f1:
; CHECK: vgmg %v0, 2, 11
ret double 1.0
}
define double @f2() {
; CHECK-LABEL: f2:
; CHECK: vgmg %v0, 1, 1
ret double 2.0
}
define double @f3() {
; CHECK-LABEL: f3:
; CHECK: vgmg %v0, 0, 1
ret double -2.0
}
define double @f4() {
; CHECK-LABEL: f4:
; CHECK: vgmg %v0, 2, 10
ret double 0.5
}
define double @f5() {
; CHECK-LABEL: f5:
; CHECK: vgmg %v0, 2, 9
ret double 0.125
}
define float @f6() {
; CHECK-LABEL: f6:
; CHECK: vgmf %v0, 2, 8
ret float 1.0
}
define float @f7() {
; CHECK-LABEL: f7:
; CHECK: vgmf %v0, 1, 1
ret float 2.0
}
define float @f8() {
; CHECK-LABEL: f8:
; CHECK: vgmf %v0, 0, 1
ret float -2.0
}
define float @f9() {
; CHECK-LABEL: f9:
; CHECK: vgmf %v0, 2, 7
ret float 0.5
}
define float @f10() {
; CHECK-LABEL: f10:
; CHECK: vgmf %v0, 2, 6
ret float 0.125
}