76 lines · plain
1; Test loads of FP constants with VGM and VGBM.2;3; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 | FileCheck %s4 5define double @f1() {6; CHECK-LABEL: f1:7; CHECK: vgmg %v0, 2, 118 ret double 1.09}10 11define double @f2() {12; CHECK-LABEL: f2:13; CHECK: vgmg %v0, 1, 114 ret double 2.015}16 17define double @f3() {18; CHECK-LABEL: f3:19; CHECK: vgmg %v0, 0, 120 ret double -2.021}22 23define double @f4() {24; CHECK-LABEL: f4:25; CHECK: vgmg %v0, 2, 1026 ret double 0.527}28 29define double @f5() {30; CHECK-LABEL: f5:31; CHECK: vgmg %v0, 2, 932 ret double 0.12533}34 35define float @f6() {36; CHECK-LABEL: f6:37; CHECK: vgmf %v0, 2, 838 ret float 1.039}40 41define float @f7() {42; CHECK-LABEL: f7:43; CHECK: vgmf %v0, 1, 144 ret float 2.045}46 47define float @f8() {48; CHECK-LABEL: f8:49; CHECK: vgmf %v0, 0, 150 ret float -2.051}52 53define float @f9() {54; CHECK-LABEL: f9:55; CHECK: vgmf %v0, 2, 756 ret float 0.557}58 59define float @f10() {60; CHECK-LABEL: f10:61; CHECK: vgmf %v0, 2, 662 ret float 0.12563}64 65define float @f11() {66; CHECK-LABEL: f11:67; CHECK: vgbm %v0, 6144068 ret float 0xFFFFFFFFE000000069}70 71define double @f12() {72; CHECK-LABEL: f12:73; CHECK: vgbm %v0, 6144074 ret double 0xFFFFFFFF0000000075}76