; 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 | |
} |