[llvm] 5f7e921 - [LoongArch] Pre-commit test for load floating-point immediate using VLDI. NFC
WANG Rui via llvm-commits
llvm-commits at lists.llvm.org
Sun Aug 4 20:47:22 PDT 2024
Author: WANG Rui
Date: 2024-08-05T11:47:27+08:00
New Revision: 5f7e921fe3b5402127868faf5855a835cf238196
URL: https://github.com/llvm/llvm-project/commit/5f7e921fe3b5402127868faf5855a835cf238196
DIFF: https://github.com/llvm/llvm-project/commit/5f7e921fe3b5402127868faf5855a835cf238196.diff
LOG: [LoongArch] Pre-commit test for load floating-point immediate using VLDI. NFC
Added:
llvm/test/CodeGen/LoongArch/float-imm-vldi.ll
Modified:
Removed:
################################################################################
diff --git a/llvm/test/CodeGen/LoongArch/float-imm-vldi.ll b/llvm/test/CodeGen/LoongArch/float-imm-vldi.ll
new file mode 100644
index 0000000000000..0c6856bafd23d
--- /dev/null
+++ b/llvm/test/CodeGen/LoongArch/float-imm-vldi.ll
@@ -0,0 +1,6145 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc --mtriple=loongarch32 --mattr=+lsx < %s | FileCheck %s --check-prefix=LA32
+; RUN: llc --mtriple=loongarch64 --mattr=+lsx < %s | FileCheck %s --check-prefix=LA64
+
+define dso_local { float, double } @test1() {
+; LA32-LABEL: test1:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI0_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI0_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI0_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI0_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test1:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI0_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI0_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI0_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI0_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 2.0000000000, double 2.0000000000 }
+}
+
+define dso_local { float, double } @test2() {
+; LA32-LABEL: test2:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI1_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI1_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI1_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI1_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test2:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI1_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI1_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI1_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI1_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 2.1250000000, double 2.1250000000 }
+}
+
+define dso_local { float, double } @test3() {
+; LA32-LABEL: test3:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI2_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI2_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI2_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI2_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test3:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI2_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI2_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI2_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI2_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 2.2500000000, double 2.2500000000 }
+}
+
+define dso_local { float, double } @test4() {
+; LA32-LABEL: test4:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI3_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI3_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI3_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI3_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test4:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI3_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI3_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI3_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI3_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 2.3750000000, double 2.3750000000 }
+}
+
+define dso_local { float, double } @test5() {
+; LA32-LABEL: test5:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI4_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI4_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI4_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI4_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test5:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI4_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI4_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI4_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI4_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 2.5000000000, double 2.5000000000 }
+}
+
+define dso_local { float, double } @test6() {
+; LA32-LABEL: test6:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI5_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI5_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI5_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI5_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test6:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI5_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI5_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI5_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI5_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 2.6250000000, double 2.6250000000 }
+}
+
+define dso_local { float, double } @test7() {
+; LA32-LABEL: test7:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI6_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI6_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI6_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI6_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test7:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI6_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI6_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI6_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI6_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 2.7500000000, double 2.7500000000 }
+}
+
+define dso_local { float, double } @test8() {
+; LA32-LABEL: test8:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI7_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI7_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI7_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI7_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test8:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI7_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI7_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI7_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI7_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 2.8750000000, double 2.8750000000 }
+}
+
+define dso_local { float, double } @test9() {
+; LA32-LABEL: test9:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI8_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI8_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI8_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI8_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test9:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI8_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI8_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI8_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI8_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 3.0000000000, double 3.0000000000 }
+}
+
+define dso_local { float, double } @test10() {
+; LA32-LABEL: test10:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI9_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI9_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI9_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI9_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test10:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI9_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI9_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI9_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI9_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 3.1250000000, double 3.1250000000 }
+}
+
+define dso_local { float, double } @test11() {
+; LA32-LABEL: test11:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI10_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI10_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI10_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI10_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test11:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI10_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI10_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI10_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI10_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 3.2500000000, double 3.2500000000 }
+}
+
+define dso_local { float, double } @test12() {
+; LA32-LABEL: test12:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI11_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI11_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI11_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI11_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test12:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI11_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI11_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI11_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI11_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 3.3750000000, double 3.3750000000 }
+}
+
+define dso_local { float, double } @test13() {
+; LA32-LABEL: test13:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI12_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI12_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI12_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI12_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test13:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI12_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI12_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI12_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI12_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 3.5000000000, double 3.5000000000 }
+}
+
+define dso_local { float, double } @test14() {
+; LA32-LABEL: test14:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI13_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI13_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI13_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI13_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test14:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI13_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI13_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI13_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI13_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 3.6250000000, double 3.6250000000 }
+}
+
+define dso_local { float, double } @test15() {
+; LA32-LABEL: test15:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI14_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI14_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI14_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI14_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test15:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI14_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI14_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI14_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI14_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 3.7500000000, double 3.7500000000 }
+}
+
+define dso_local { float, double } @test16() {
+; LA32-LABEL: test16:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI15_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI15_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI15_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI15_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test16:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI15_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI15_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI15_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI15_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 3.8750000000, double 3.8750000000 }
+}
+
+define dso_local { float, double } @test17() {
+; LA32-LABEL: test17:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI16_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI16_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI16_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI16_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test17:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI16_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI16_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI16_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI16_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 4.0000000000, double 4.0000000000 }
+}
+
+define dso_local { float, double } @test18() {
+; LA32-LABEL: test18:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI17_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI17_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI17_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI17_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test18:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI17_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI17_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI17_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI17_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 4.2500000000, double 4.2500000000 }
+}
+
+define dso_local { float, double } @test19() {
+; LA32-LABEL: test19:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI18_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI18_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI18_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI18_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test19:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI18_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI18_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI18_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI18_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 4.5000000000, double 4.5000000000 }
+}
+
+define dso_local { float, double } @test20() {
+; LA32-LABEL: test20:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI19_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI19_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI19_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI19_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test20:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI19_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI19_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI19_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI19_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 4.7500000000, double 4.7500000000 }
+}
+
+define dso_local { float, double } @test21() {
+; LA32-LABEL: test21:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI20_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI20_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI20_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI20_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test21:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI20_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI20_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI20_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI20_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 5.0000000000, double 5.0000000000 }
+}
+
+define dso_local { float, double } @test22() {
+; LA32-LABEL: test22:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI21_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI21_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI21_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI21_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test22:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI21_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI21_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI21_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI21_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 5.2500000000, double 5.2500000000 }
+}
+
+define dso_local { float, double } @test23() {
+; LA32-LABEL: test23:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI22_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI22_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI22_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI22_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test23:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI22_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI22_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI22_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI22_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 5.5000000000, double 5.5000000000 }
+}
+
+define dso_local { float, double } @test24() {
+; LA32-LABEL: test24:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI23_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI23_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI23_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI23_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test24:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI23_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI23_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI23_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI23_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 5.7500000000, double 5.7500000000 }
+}
+
+define dso_local { float, double } @test25() {
+; LA32-LABEL: test25:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI24_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI24_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI24_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI24_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test25:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI24_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI24_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI24_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI24_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 6.0000000000, double 6.0000000000 }
+}
+
+define dso_local { float, double } @test26() {
+; LA32-LABEL: test26:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI25_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI25_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI25_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI25_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test26:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI25_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI25_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI25_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI25_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 6.2500000000, double 6.2500000000 }
+}
+
+define dso_local { float, double } @test27() {
+; LA32-LABEL: test27:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI26_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI26_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI26_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI26_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test27:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI26_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI26_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI26_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI26_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 6.5000000000, double 6.5000000000 }
+}
+
+define dso_local { float, double } @test28() {
+; LA32-LABEL: test28:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI27_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI27_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI27_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI27_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test28:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI27_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI27_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI27_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI27_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 6.7500000000, double 6.7500000000 }
+}
+
+define dso_local { float, double } @test29() {
+; LA32-LABEL: test29:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI28_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI28_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI28_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI28_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test29:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI28_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI28_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI28_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI28_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 7.0000000000, double 7.0000000000 }
+}
+
+define dso_local { float, double } @test30() {
+; LA32-LABEL: test30:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI29_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI29_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI29_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI29_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test30:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI29_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI29_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI29_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI29_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 7.2500000000, double 7.2500000000 }
+}
+
+define dso_local { float, double } @test31() {
+; LA32-LABEL: test31:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI30_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI30_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI30_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI30_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test31:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI30_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI30_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI30_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI30_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 7.5000000000, double 7.5000000000 }
+}
+
+define dso_local { float, double } @test32() {
+; LA32-LABEL: test32:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI31_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI31_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI31_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI31_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test32:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI31_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI31_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI31_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI31_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 7.7500000000, double 7.7500000000 }
+}
+
+define dso_local { float, double } @test33() {
+; LA32-LABEL: test33:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI32_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI32_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI32_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI32_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test33:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI32_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI32_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI32_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI32_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 8.0000000000, double 8.0000000000 }
+}
+
+define dso_local { float, double } @test34() {
+; LA32-LABEL: test34:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI33_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI33_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI33_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI33_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test34:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI33_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI33_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI33_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI33_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 8.5000000000, double 8.5000000000 }
+}
+
+define dso_local { float, double } @test35() {
+; LA32-LABEL: test35:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI34_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI34_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI34_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI34_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test35:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI34_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI34_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI34_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI34_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 9.0000000000, double 9.0000000000 }
+}
+
+define dso_local { float, double } @test36() {
+; LA32-LABEL: test36:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI35_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI35_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI35_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI35_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test36:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI35_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI35_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI35_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI35_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 9.5000000000, double 9.5000000000 }
+}
+
+define dso_local { float, double } @test37() {
+; LA32-LABEL: test37:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI36_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI36_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI36_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI36_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test37:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI36_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI36_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI36_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI36_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 10.0000000000, double 10.0000000000 }
+}
+
+define dso_local { float, double } @test38() {
+; LA32-LABEL: test38:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI37_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI37_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI37_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI37_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test38:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI37_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI37_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI37_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI37_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 10.5000000000, double 10.5000000000 }
+}
+
+define dso_local { float, double } @test39() {
+; LA32-LABEL: test39:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI38_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI38_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI38_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI38_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test39:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI38_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI38_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI38_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI38_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 11.0000000000, double 11.0000000000 }
+}
+
+define dso_local { float, double } @test40() {
+; LA32-LABEL: test40:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI39_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI39_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI39_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI39_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test40:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI39_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI39_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI39_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI39_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 11.5000000000, double 11.5000000000 }
+}
+
+define dso_local { float, double } @test41() {
+; LA32-LABEL: test41:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI40_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI40_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI40_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI40_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test41:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI40_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI40_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI40_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI40_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 12.0000000000, double 12.0000000000 }
+}
+
+define dso_local { float, double } @test42() {
+; LA32-LABEL: test42:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI41_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI41_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI41_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI41_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test42:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI41_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI41_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI41_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI41_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 12.5000000000, double 12.5000000000 }
+}
+
+define dso_local { float, double } @test43() {
+; LA32-LABEL: test43:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI42_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI42_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI42_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI42_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test43:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI42_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI42_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI42_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI42_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 13.0000000000, double 13.0000000000 }
+}
+
+define dso_local { float, double } @test44() {
+; LA32-LABEL: test44:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI43_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI43_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI43_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI43_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test44:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI43_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI43_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI43_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI43_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 13.5000000000, double 13.5000000000 }
+}
+
+define dso_local { float, double } @test45() {
+; LA32-LABEL: test45:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI44_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI44_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI44_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI44_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test45:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI44_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI44_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI44_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI44_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 14.0000000000, double 14.0000000000 }
+}
+
+define dso_local { float, double } @test46() {
+; LA32-LABEL: test46:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI45_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI45_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI45_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI45_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test46:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI45_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI45_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI45_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI45_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 14.5000000000, double 14.5000000000 }
+}
+
+define dso_local { float, double } @test47() {
+; LA32-LABEL: test47:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI46_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI46_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI46_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI46_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test47:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI46_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI46_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI46_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI46_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 15.0000000000, double 15.0000000000 }
+}
+
+define dso_local { float, double } @test48() {
+; LA32-LABEL: test48:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI47_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI47_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI47_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI47_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test48:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI47_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI47_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI47_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI47_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 15.5000000000, double 15.5000000000 }
+}
+
+define dso_local { float, double } @test49() {
+; LA32-LABEL: test49:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI48_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI48_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI48_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI48_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test49:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI48_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI48_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI48_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI48_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 16.0000000000, double 16.0000000000 }
+}
+
+define dso_local { float, double } @test50() {
+; LA32-LABEL: test50:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI49_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI49_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI49_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI49_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test50:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI49_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI49_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI49_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI49_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 17.0000000000, double 17.0000000000 }
+}
+
+define dso_local { float, double } @test51() {
+; LA32-LABEL: test51:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI50_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI50_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI50_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI50_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test51:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI50_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI50_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI50_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI50_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 18.0000000000, double 18.0000000000 }
+}
+
+define dso_local { float, double } @test52() {
+; LA32-LABEL: test52:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI51_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI51_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI51_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI51_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test52:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI51_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI51_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI51_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI51_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 19.0000000000, double 19.0000000000 }
+}
+
+define dso_local { float, double } @test53() {
+; LA32-LABEL: test53:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI52_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI52_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI52_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI52_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test53:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI52_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI52_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI52_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI52_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 20.0000000000, double 20.0000000000 }
+}
+
+define dso_local { float, double } @test54() {
+; LA32-LABEL: test54:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI53_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI53_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI53_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI53_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test54:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI53_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI53_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI53_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI53_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 21.0000000000, double 21.0000000000 }
+}
+
+define dso_local { float, double } @test55() {
+; LA32-LABEL: test55:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI54_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI54_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI54_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI54_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test55:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI54_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI54_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI54_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI54_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 22.0000000000, double 22.0000000000 }
+}
+
+define dso_local { float, double } @test56() {
+; LA32-LABEL: test56:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI55_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI55_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI55_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI55_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test56:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI55_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI55_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI55_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI55_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 23.0000000000, double 23.0000000000 }
+}
+
+define dso_local { float, double } @test57() {
+; LA32-LABEL: test57:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI56_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI56_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI56_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI56_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test57:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI56_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI56_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI56_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI56_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 24.0000000000, double 24.0000000000 }
+}
+
+define dso_local { float, double } @test58() {
+; LA32-LABEL: test58:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI57_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI57_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI57_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI57_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test58:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI57_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI57_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI57_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI57_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 25.0000000000, double 25.0000000000 }
+}
+
+define dso_local { float, double } @test59() {
+; LA32-LABEL: test59:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI58_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI58_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI58_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI58_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test59:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI58_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI58_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI58_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI58_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 26.0000000000, double 26.0000000000 }
+}
+
+define dso_local { float, double } @test60() {
+; LA32-LABEL: test60:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI59_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI59_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI59_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI59_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test60:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI59_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI59_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI59_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI59_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 27.0000000000, double 27.0000000000 }
+}
+
+define dso_local { float, double } @test61() {
+; LA32-LABEL: test61:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI60_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI60_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI60_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI60_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test61:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI60_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI60_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI60_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI60_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 28.0000000000, double 28.0000000000 }
+}
+
+define dso_local { float, double } @test62() {
+; LA32-LABEL: test62:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI61_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI61_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI61_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI61_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test62:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI61_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI61_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI61_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI61_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 29.0000000000, double 29.0000000000 }
+}
+
+define dso_local { float, double } @test63() {
+; LA32-LABEL: test63:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI62_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI62_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI62_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI62_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test63:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI62_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI62_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI62_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI62_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 30.0000000000, double 30.0000000000 }
+}
+
+define dso_local { float, double } @test64() {
+; LA32-LABEL: test64:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI63_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI63_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI63_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI63_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test64:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI63_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI63_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI63_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI63_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 31.0000000000, double 31.0000000000 }
+}
+
+define dso_local { float, double } @test65() {
+; LA32-LABEL: test65:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI64_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI64_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI64_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI64_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test65:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI64_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI64_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI64_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI64_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.1250000000, double 0.1250000000 }
+}
+
+define dso_local { float, double } @test66() {
+; LA32-LABEL: test66:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI65_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI65_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI65_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI65_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test66:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI65_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI65_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI65_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI65_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.1328125000, double 0.1328125000 }
+}
+
+define dso_local { float, double } @test67() {
+; LA32-LABEL: test67:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI66_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI66_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI66_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI66_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test67:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI66_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI66_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI66_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI66_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.1406250000, double 0.1406250000 }
+}
+
+define dso_local { float, double } @test68() {
+; LA32-LABEL: test68:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI67_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI67_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI67_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI67_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test68:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI67_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI67_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI67_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI67_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.1484375000, double 0.1484375000 }
+}
+
+define dso_local { float, double } @test69() {
+; LA32-LABEL: test69:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI68_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI68_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI68_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI68_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test69:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI68_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI68_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI68_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI68_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.1562500000, double 0.1562500000 }
+}
+
+define dso_local { float, double } @test70() {
+; LA32-LABEL: test70:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI69_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI69_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI69_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI69_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test70:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI69_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI69_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI69_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI69_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.1640625000, double 0.1640625000 }
+}
+
+define dso_local { float, double } @test71() {
+; LA32-LABEL: test71:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI70_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI70_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI70_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI70_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test71:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI70_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI70_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI70_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI70_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.1718750000, double 0.1718750000 }
+}
+
+define dso_local { float, double } @test72() {
+; LA32-LABEL: test72:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI71_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI71_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI71_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI71_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test72:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI71_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI71_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI71_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI71_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.1796875000, double 0.1796875000 }
+}
+
+define dso_local { float, double } @test73() {
+; LA32-LABEL: test73:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI72_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI72_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI72_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI72_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test73:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI72_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI72_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI72_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI72_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.1875000000, double 0.1875000000 }
+}
+
+define dso_local { float, double } @test74() {
+; LA32-LABEL: test74:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI73_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI73_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI73_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI73_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test74:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI73_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI73_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI73_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI73_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.1953125000, double 0.1953125000 }
+}
+
+define dso_local { float, double } @test75() {
+; LA32-LABEL: test75:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI74_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI74_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI74_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI74_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test75:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI74_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI74_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI74_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI74_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.2031250000, double 0.2031250000 }
+}
+
+define dso_local { float, double } @test76() {
+; LA32-LABEL: test76:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI75_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI75_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI75_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI75_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test76:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI75_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI75_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI75_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI75_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.2109375000, double 0.2109375000 }
+}
+
+define dso_local { float, double } @test77() {
+; LA32-LABEL: test77:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI76_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI76_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI76_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI76_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test77:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI76_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI76_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI76_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI76_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.2187500000, double 0.2187500000 }
+}
+
+define dso_local { float, double } @test78() {
+; LA32-LABEL: test78:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI77_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI77_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI77_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI77_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test78:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI77_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI77_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI77_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI77_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.2265625000, double 0.2265625000 }
+}
+
+define dso_local { float, double } @test79() {
+; LA32-LABEL: test79:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI78_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI78_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI78_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI78_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test79:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI78_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI78_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI78_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI78_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.2343750000, double 0.2343750000 }
+}
+
+define dso_local { float, double } @test80() {
+; LA32-LABEL: test80:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI79_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI79_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI79_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI79_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test80:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI79_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI79_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI79_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI79_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.2421875000, double 0.2421875000 }
+}
+
+define dso_local { float, double } @test81() {
+; LA32-LABEL: test81:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI80_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI80_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI80_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI80_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test81:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI80_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI80_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI80_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI80_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.2500000000, double 0.2500000000 }
+}
+
+define dso_local { float, double } @test82() {
+; LA32-LABEL: test82:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI81_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI81_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI81_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI81_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test82:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI81_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI81_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI81_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI81_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.2656250000, double 0.2656250000 }
+}
+
+define dso_local { float, double } @test83() {
+; LA32-LABEL: test83:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI82_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI82_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI82_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI82_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test83:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI82_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI82_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI82_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI82_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.2812500000, double 0.2812500000 }
+}
+
+define dso_local { float, double } @test84() {
+; LA32-LABEL: test84:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI83_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI83_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI83_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI83_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test84:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI83_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI83_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI83_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI83_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.2968750000, double 0.2968750000 }
+}
+
+define dso_local { float, double } @test85() {
+; LA32-LABEL: test85:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI84_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI84_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI84_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI84_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test85:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI84_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI84_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI84_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI84_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.3125000000, double 0.3125000000 }
+}
+
+define dso_local { float, double } @test86() {
+; LA32-LABEL: test86:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI85_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI85_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI85_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI85_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test86:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI85_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI85_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI85_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI85_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.3281250000, double 0.3281250000 }
+}
+
+define dso_local { float, double } @test87() {
+; LA32-LABEL: test87:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI86_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI86_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI86_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI86_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test87:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI86_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI86_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI86_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI86_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.3437500000, double 0.3437500000 }
+}
+
+define dso_local { float, double } @test88() {
+; LA32-LABEL: test88:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI87_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI87_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI87_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI87_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test88:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI87_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI87_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI87_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI87_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.3593750000, double 0.3593750000 }
+}
+
+define dso_local { float, double } @test89() {
+; LA32-LABEL: test89:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI88_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI88_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI88_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI88_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test89:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI88_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI88_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI88_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI88_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.3750000000, double 0.3750000000 }
+}
+
+define dso_local { float, double } @test90() {
+; LA32-LABEL: test90:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI89_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI89_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI89_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI89_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test90:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI89_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI89_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI89_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI89_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.3906250000, double 0.3906250000 }
+}
+
+define dso_local { float, double } @test91() {
+; LA32-LABEL: test91:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI90_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI90_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI90_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI90_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test91:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI90_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI90_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI90_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI90_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.4062500000, double 0.4062500000 }
+}
+
+define dso_local { float, double } @test92() {
+; LA32-LABEL: test92:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI91_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI91_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI91_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI91_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test92:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI91_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI91_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI91_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI91_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.4218750000, double 0.4218750000 }
+}
+
+define dso_local { float, double } @test93() {
+; LA32-LABEL: test93:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI92_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI92_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI92_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI92_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test93:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI92_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI92_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI92_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI92_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.4375000000, double 0.4375000000 }
+}
+
+define dso_local { float, double } @test94() {
+; LA32-LABEL: test94:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI93_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI93_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI93_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI93_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test94:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI93_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI93_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI93_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI93_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.4531250000, double 0.4531250000 }
+}
+
+define dso_local { float, double } @test95() {
+; LA32-LABEL: test95:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI94_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI94_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI94_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI94_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test95:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI94_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI94_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI94_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI94_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.4687500000, double 0.4687500000 }
+}
+
+define dso_local { float, double } @test96() {
+; LA32-LABEL: test96:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI95_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI95_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI95_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI95_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test96:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI95_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI95_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI95_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI95_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.4843750000, double 0.4843750000 }
+}
+
+define dso_local { float, double } @test97() {
+; LA32-LABEL: test97:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI96_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI96_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI96_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI96_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test97:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI96_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI96_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI96_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI96_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.5000000000, double 0.5000000000 }
+}
+
+define dso_local { float, double } @test98() {
+; LA32-LABEL: test98:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI97_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI97_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI97_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI97_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test98:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI97_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI97_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI97_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI97_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.5312500000, double 0.5312500000 }
+}
+
+define dso_local { float, double } @test99() {
+; LA32-LABEL: test99:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI98_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI98_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI98_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI98_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test99:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI98_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI98_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI98_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI98_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.5625000000, double 0.5625000000 }
+}
+
+define dso_local { float, double } @test100() {
+; LA32-LABEL: test100:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI99_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI99_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI99_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI99_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test100:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI99_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI99_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI99_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI99_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.5937500000, double 0.5937500000 }
+}
+
+define dso_local { float, double } @test101() {
+; LA32-LABEL: test101:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI100_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI100_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI100_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI100_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test101:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI100_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI100_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI100_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI100_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.6250000000, double 0.6250000000 }
+}
+
+define dso_local { float, double } @test102() {
+; LA32-LABEL: test102:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI101_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI101_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI101_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI101_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test102:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI101_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI101_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI101_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI101_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.6562500000, double 0.6562500000 }
+}
+
+define dso_local { float, double } @test103() {
+; LA32-LABEL: test103:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI102_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI102_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI102_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI102_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test103:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI102_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI102_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI102_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI102_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.6875000000, double 0.6875000000 }
+}
+
+define dso_local { float, double } @test104() {
+; LA32-LABEL: test104:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI103_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI103_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI103_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI103_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test104:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI103_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI103_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI103_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI103_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.7187500000, double 0.7187500000 }
+}
+
+define dso_local { float, double } @test105() {
+; LA32-LABEL: test105:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI104_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI104_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI104_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI104_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test105:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI104_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI104_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI104_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI104_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.7500000000, double 0.7500000000 }
+}
+
+define dso_local { float, double } @test106() {
+; LA32-LABEL: test106:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI105_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI105_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI105_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI105_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test106:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI105_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI105_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI105_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI105_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.7812500000, double 0.7812500000 }
+}
+
+define dso_local { float, double } @test107() {
+; LA32-LABEL: test107:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI106_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI106_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI106_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI106_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test107:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI106_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI106_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI106_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI106_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.8125000000, double 0.8125000000 }
+}
+
+define dso_local { float, double } @test108() {
+; LA32-LABEL: test108:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI107_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI107_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI107_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI107_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test108:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI107_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI107_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI107_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI107_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.8437500000, double 0.8437500000 }
+}
+
+define dso_local { float, double } @test109() {
+; LA32-LABEL: test109:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI108_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI108_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI108_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI108_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test109:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI108_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI108_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI108_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI108_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.8750000000, double 0.8750000000 }
+}
+
+define dso_local { float, double } @test110() {
+; LA32-LABEL: test110:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI109_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI109_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI109_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI109_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test110:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI109_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI109_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI109_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI109_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.9062500000, double 0.9062500000 }
+}
+
+define dso_local { float, double } @test111() {
+; LA32-LABEL: test111:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI110_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI110_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI110_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI110_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test111:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI110_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI110_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI110_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI110_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.9375000000, double 0.9375000000 }
+}
+
+define dso_local { float, double } @test112() {
+; LA32-LABEL: test112:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI111_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI111_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI111_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI111_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test112:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI111_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI111_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI111_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI111_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 0.9687500000, double 0.9687500000 }
+}
+
+define dso_local { float, double } @test113() {
+; LA32-LABEL: test113:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: addi.w $a0, $zero, 1
+; LA32-NEXT: movgr2fr.w $fa0, $a0
+; LA32-NEXT: ffint.s.w $fa0, $fa0
+; LA32-NEXT: fcvt.d.s $fa1, $fa0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test113:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: addi.w $a0, $zero, 1
+; LA64-NEXT: movgr2fr.w $fa0, $a0
+; LA64-NEXT: ffint.s.w $fa0, $fa0
+; LA64-NEXT: addi.d $a0, $zero, 1
+; LA64-NEXT: movgr2fr.d $fa1, $a0
+; LA64-NEXT: ffint.d.l $fa1, $fa1
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 1.0000000000, double 1.0000000000 }
+}
+
+define dso_local { float, double } @test114() {
+; LA32-LABEL: test114:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI113_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI113_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI113_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI113_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test114:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI113_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI113_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI113_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI113_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 1.0625000000, double 1.0625000000 }
+}
+
+define dso_local { float, double } @test115() {
+; LA32-LABEL: test115:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI114_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI114_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI114_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI114_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test115:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI114_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI114_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI114_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI114_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 1.1250000000, double 1.1250000000 }
+}
+
+define dso_local { float, double } @test116() {
+; LA32-LABEL: test116:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI115_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI115_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI115_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI115_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test116:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI115_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI115_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI115_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI115_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 1.1875000000, double 1.1875000000 }
+}
+
+define dso_local { float, double } @test117() {
+; LA32-LABEL: test117:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI116_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI116_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI116_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI116_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test117:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI116_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI116_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI116_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI116_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 1.2500000000, double 1.2500000000 }
+}
+
+define dso_local { float, double } @test118() {
+; LA32-LABEL: test118:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI117_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI117_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI117_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI117_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test118:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI117_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI117_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI117_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI117_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 1.3125000000, double 1.3125000000 }
+}
+
+define dso_local { float, double } @test119() {
+; LA32-LABEL: test119:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI118_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI118_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI118_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI118_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test119:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI118_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI118_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI118_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI118_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 1.3750000000, double 1.3750000000 }
+}
+
+define dso_local { float, double } @test120() {
+; LA32-LABEL: test120:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI119_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI119_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI119_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI119_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test120:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI119_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI119_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI119_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI119_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 1.4375000000, double 1.4375000000 }
+}
+
+define dso_local { float, double } @test121() {
+; LA32-LABEL: test121:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI120_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI120_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI120_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI120_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test121:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI120_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI120_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI120_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI120_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 1.5000000000, double 1.5000000000 }
+}
+
+define dso_local { float, double } @test122() {
+; LA32-LABEL: test122:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI121_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI121_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI121_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI121_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test122:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI121_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI121_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI121_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI121_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 1.5625000000, double 1.5625000000 }
+}
+
+define dso_local { float, double } @test123() {
+; LA32-LABEL: test123:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI122_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI122_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI122_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI122_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test123:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI122_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI122_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI122_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI122_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 1.6250000000, double 1.6250000000 }
+}
+
+define dso_local { float, double } @test124() {
+; LA32-LABEL: test124:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI123_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI123_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI123_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI123_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test124:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI123_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI123_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI123_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI123_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 1.6875000000, double 1.6875000000 }
+}
+
+define dso_local { float, double } @test125() {
+; LA32-LABEL: test125:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI124_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI124_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI124_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI124_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test125:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI124_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI124_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI124_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI124_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 1.7500000000, double 1.7500000000 }
+}
+
+define dso_local { float, double } @test126() {
+; LA32-LABEL: test126:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI125_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI125_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI125_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI125_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test126:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI125_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI125_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI125_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI125_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 1.8125000000, double 1.8125000000 }
+}
+
+define dso_local { float, double } @test127() {
+; LA32-LABEL: test127:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI126_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI126_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI126_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI126_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test127:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI126_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI126_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI126_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI126_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 1.8750000000, double 1.8750000000 }
+}
+
+define dso_local { float, double } @test128() {
+; LA32-LABEL: test128:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI127_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI127_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI127_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI127_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test128:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI127_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI127_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI127_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI127_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float 1.9375000000, double 1.9375000000 }
+}
+
+define dso_local { float, double } @test129() {
+; LA32-LABEL: test129:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI128_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI128_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI128_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI128_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test129:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI128_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI128_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI128_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI128_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -2.0000000000, double -2.0000000000 }
+}
+
+define dso_local { float, double } @test130() {
+; LA32-LABEL: test130:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI129_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI129_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI129_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI129_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test130:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI129_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI129_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI129_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI129_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -2.1250000000, double -2.1250000000 }
+}
+
+define dso_local { float, double } @test131() {
+; LA32-LABEL: test131:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI130_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI130_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI130_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI130_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test131:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI130_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI130_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI130_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI130_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -2.2500000000, double -2.2500000000 }
+}
+
+define dso_local { float, double } @test132() {
+; LA32-LABEL: test132:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI131_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI131_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI131_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI131_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test132:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI131_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI131_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI131_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI131_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -2.3750000000, double -2.3750000000 }
+}
+
+define dso_local { float, double } @test133() {
+; LA32-LABEL: test133:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI132_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI132_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI132_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI132_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test133:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI132_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI132_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI132_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI132_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -2.5000000000, double -2.5000000000 }
+}
+
+define dso_local { float, double } @test134() {
+; LA32-LABEL: test134:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI133_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI133_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI133_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI133_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test134:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI133_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI133_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI133_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI133_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -2.6250000000, double -2.6250000000 }
+}
+
+define dso_local { float, double } @test135() {
+; LA32-LABEL: test135:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI134_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI134_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI134_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI134_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test135:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI134_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI134_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI134_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI134_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -2.7500000000, double -2.7500000000 }
+}
+
+define dso_local { float, double } @test136() {
+; LA32-LABEL: test136:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI135_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI135_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI135_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI135_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test136:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI135_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI135_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI135_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI135_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -2.8750000000, double -2.8750000000 }
+}
+
+define dso_local { float, double } @test137() {
+; LA32-LABEL: test137:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI136_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI136_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI136_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI136_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test137:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI136_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI136_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI136_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI136_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -3.0000000000, double -3.0000000000 }
+}
+
+define dso_local { float, double } @test138() {
+; LA32-LABEL: test138:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI137_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI137_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI137_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI137_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test138:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI137_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI137_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI137_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI137_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -3.1250000000, double -3.1250000000 }
+}
+
+define dso_local { float, double } @test139() {
+; LA32-LABEL: test139:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI138_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI138_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI138_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI138_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test139:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI138_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI138_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI138_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI138_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -3.2500000000, double -3.2500000000 }
+}
+
+define dso_local { float, double } @test140() {
+; LA32-LABEL: test140:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI139_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI139_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI139_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI139_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test140:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI139_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI139_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI139_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI139_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -3.3750000000, double -3.3750000000 }
+}
+
+define dso_local { float, double } @test141() {
+; LA32-LABEL: test141:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI140_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI140_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI140_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI140_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test141:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI140_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI140_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI140_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI140_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -3.5000000000, double -3.5000000000 }
+}
+
+define dso_local { float, double } @test142() {
+; LA32-LABEL: test142:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI141_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI141_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI141_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI141_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test142:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI141_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI141_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI141_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI141_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -3.6250000000, double -3.6250000000 }
+}
+
+define dso_local { float, double } @test143() {
+; LA32-LABEL: test143:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI142_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI142_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI142_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI142_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test143:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI142_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI142_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI142_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI142_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -3.7500000000, double -3.7500000000 }
+}
+
+define dso_local { float, double } @test144() {
+; LA32-LABEL: test144:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI143_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI143_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI143_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI143_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test144:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI143_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI143_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI143_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI143_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -3.8750000000, double -3.8750000000 }
+}
+
+define dso_local { float, double } @test145() {
+; LA32-LABEL: test145:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI144_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI144_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI144_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI144_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test145:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI144_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI144_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI144_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI144_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -4.0000000000, double -4.0000000000 }
+}
+
+define dso_local { float, double } @test146() {
+; LA32-LABEL: test146:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI145_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI145_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI145_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI145_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test146:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI145_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI145_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI145_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI145_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -4.2500000000, double -4.2500000000 }
+}
+
+define dso_local { float, double } @test147() {
+; LA32-LABEL: test147:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI146_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI146_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI146_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI146_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test147:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI146_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI146_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI146_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI146_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -4.5000000000, double -4.5000000000 }
+}
+
+define dso_local { float, double } @test148() {
+; LA32-LABEL: test148:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI147_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI147_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI147_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI147_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test148:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI147_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI147_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI147_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI147_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -4.7500000000, double -4.7500000000 }
+}
+
+define dso_local { float, double } @test149() {
+; LA32-LABEL: test149:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI148_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI148_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI148_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI148_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test149:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI148_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI148_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI148_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI148_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -5.0000000000, double -5.0000000000 }
+}
+
+define dso_local { float, double } @test150() {
+; LA32-LABEL: test150:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI149_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI149_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI149_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI149_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test150:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI149_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI149_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI149_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI149_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -5.2500000000, double -5.2500000000 }
+}
+
+define dso_local { float, double } @test151() {
+; LA32-LABEL: test151:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI150_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI150_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI150_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI150_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test151:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI150_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI150_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI150_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI150_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -5.5000000000, double -5.5000000000 }
+}
+
+define dso_local { float, double } @test152() {
+; LA32-LABEL: test152:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI151_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI151_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI151_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI151_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test152:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI151_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI151_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI151_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI151_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -5.7500000000, double -5.7500000000 }
+}
+
+define dso_local { float, double } @test153() {
+; LA32-LABEL: test153:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI152_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI152_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI152_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI152_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test153:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI152_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI152_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI152_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI152_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -6.0000000000, double -6.0000000000 }
+}
+
+define dso_local { float, double } @test154() {
+; LA32-LABEL: test154:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI153_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI153_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI153_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI153_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test154:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI153_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI153_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI153_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI153_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -6.2500000000, double -6.2500000000 }
+}
+
+define dso_local { float, double } @test155() {
+; LA32-LABEL: test155:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI154_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI154_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI154_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI154_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test155:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI154_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI154_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI154_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI154_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -6.5000000000, double -6.5000000000 }
+}
+
+define dso_local { float, double } @test156() {
+; LA32-LABEL: test156:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI155_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI155_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI155_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI155_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test156:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI155_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI155_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI155_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI155_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -6.7500000000, double -6.7500000000 }
+}
+
+define dso_local { float, double } @test157() {
+; LA32-LABEL: test157:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI156_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI156_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI156_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI156_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test157:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI156_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI156_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI156_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI156_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -7.0000000000, double -7.0000000000 }
+}
+
+define dso_local { float, double } @test158() {
+; LA32-LABEL: test158:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI157_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI157_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI157_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI157_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test158:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI157_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI157_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI157_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI157_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -7.2500000000, double -7.2500000000 }
+}
+
+define dso_local { float, double } @test159() {
+; LA32-LABEL: test159:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI158_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI158_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI158_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI158_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test159:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI158_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI158_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI158_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI158_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -7.5000000000, double -7.5000000000 }
+}
+
+define dso_local { float, double } @test160() {
+; LA32-LABEL: test160:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI159_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI159_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI159_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI159_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test160:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI159_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI159_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI159_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI159_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -7.7500000000, double -7.7500000000 }
+}
+
+define dso_local { float, double } @test161() {
+; LA32-LABEL: test161:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI160_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI160_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI160_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI160_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test161:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI160_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI160_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI160_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI160_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -8.0000000000, double -8.0000000000 }
+}
+
+define dso_local { float, double } @test162() {
+; LA32-LABEL: test162:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI161_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI161_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI161_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI161_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test162:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI161_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI161_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI161_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI161_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -8.5000000000, double -8.5000000000 }
+}
+
+define dso_local { float, double } @test163() {
+; LA32-LABEL: test163:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI162_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI162_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI162_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI162_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test163:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI162_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI162_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI162_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI162_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -9.0000000000, double -9.0000000000 }
+}
+
+define dso_local { float, double } @test164() {
+; LA32-LABEL: test164:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI163_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI163_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI163_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI163_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test164:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI163_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI163_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI163_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI163_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -9.5000000000, double -9.5000000000 }
+}
+
+define dso_local { float, double } @test165() {
+; LA32-LABEL: test165:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI164_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI164_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI164_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI164_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test165:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI164_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI164_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI164_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI164_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -10.0000000000, double -10.0000000000 }
+}
+
+define dso_local { float, double } @test166() {
+; LA32-LABEL: test166:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI165_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI165_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI165_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI165_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test166:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI165_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI165_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI165_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI165_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -10.5000000000, double -10.5000000000 }
+}
+
+define dso_local { float, double } @test167() {
+; LA32-LABEL: test167:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI166_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI166_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI166_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI166_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test167:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI166_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI166_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI166_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI166_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -11.0000000000, double -11.0000000000 }
+}
+
+define dso_local { float, double } @test168() {
+; LA32-LABEL: test168:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI167_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI167_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI167_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI167_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test168:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI167_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI167_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI167_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI167_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -11.5000000000, double -11.5000000000 }
+}
+
+define dso_local { float, double } @test169() {
+; LA32-LABEL: test169:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI168_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI168_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI168_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI168_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test169:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI168_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI168_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI168_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI168_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -12.0000000000, double -12.0000000000 }
+}
+
+define dso_local { float, double } @test170() {
+; LA32-LABEL: test170:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI169_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI169_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI169_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI169_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test170:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI169_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI169_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI169_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI169_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -12.5000000000, double -12.5000000000 }
+}
+
+define dso_local { float, double } @test171() {
+; LA32-LABEL: test171:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI170_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI170_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI170_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI170_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test171:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI170_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI170_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI170_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI170_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -13.0000000000, double -13.0000000000 }
+}
+
+define dso_local { float, double } @test172() {
+; LA32-LABEL: test172:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI171_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI171_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI171_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI171_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test172:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI171_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI171_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI171_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI171_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -13.5000000000, double -13.5000000000 }
+}
+
+define dso_local { float, double } @test173() {
+; LA32-LABEL: test173:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI172_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI172_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI172_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI172_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test173:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI172_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI172_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI172_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI172_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -14.0000000000, double -14.0000000000 }
+}
+
+define dso_local { float, double } @test174() {
+; LA32-LABEL: test174:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI173_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI173_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI173_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI173_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test174:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI173_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI173_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI173_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI173_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -14.5000000000, double -14.5000000000 }
+}
+
+define dso_local { float, double } @test175() {
+; LA32-LABEL: test175:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI174_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI174_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI174_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI174_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test175:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI174_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI174_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI174_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI174_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -15.0000000000, double -15.0000000000 }
+}
+
+define dso_local { float, double } @test176() {
+; LA32-LABEL: test176:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI175_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI175_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI175_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI175_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test176:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI175_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI175_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI175_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI175_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -15.5000000000, double -15.5000000000 }
+}
+
+define dso_local { float, double } @test177() {
+; LA32-LABEL: test177:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI176_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI176_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI176_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI176_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test177:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI176_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI176_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI176_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI176_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -16.0000000000, double -16.0000000000 }
+}
+
+define dso_local { float, double } @test178() {
+; LA32-LABEL: test178:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI177_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI177_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI177_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI177_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test178:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI177_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI177_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI177_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI177_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -17.0000000000, double -17.0000000000 }
+}
+
+define dso_local { float, double } @test179() {
+; LA32-LABEL: test179:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI178_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI178_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI178_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI178_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test179:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI178_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI178_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI178_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI178_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -18.0000000000, double -18.0000000000 }
+}
+
+define dso_local { float, double } @test180() {
+; LA32-LABEL: test180:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI179_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI179_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI179_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI179_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test180:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI179_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI179_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI179_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI179_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -19.0000000000, double -19.0000000000 }
+}
+
+define dso_local { float, double } @test181() {
+; LA32-LABEL: test181:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI180_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI180_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI180_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI180_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test181:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI180_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI180_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI180_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI180_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -20.0000000000, double -20.0000000000 }
+}
+
+define dso_local { float, double } @test182() {
+; LA32-LABEL: test182:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI181_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI181_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI181_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI181_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test182:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI181_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI181_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI181_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI181_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -21.0000000000, double -21.0000000000 }
+}
+
+define dso_local { float, double } @test183() {
+; LA32-LABEL: test183:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI182_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI182_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI182_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI182_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test183:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI182_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI182_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI182_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI182_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -22.0000000000, double -22.0000000000 }
+}
+
+define dso_local { float, double } @test184() {
+; LA32-LABEL: test184:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI183_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI183_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI183_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI183_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test184:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI183_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI183_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI183_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI183_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -23.0000000000, double -23.0000000000 }
+}
+
+define dso_local { float, double } @test185() {
+; LA32-LABEL: test185:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI184_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI184_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI184_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI184_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test185:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI184_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI184_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI184_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI184_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -24.0000000000, double -24.0000000000 }
+}
+
+define dso_local { float, double } @test186() {
+; LA32-LABEL: test186:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI185_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI185_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI185_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI185_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test186:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI185_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI185_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI185_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI185_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -25.0000000000, double -25.0000000000 }
+}
+
+define dso_local { float, double } @test187() {
+; LA32-LABEL: test187:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI186_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI186_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI186_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI186_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test187:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI186_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI186_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI186_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI186_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -26.0000000000, double -26.0000000000 }
+}
+
+define dso_local { float, double } @test188() {
+; LA32-LABEL: test188:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI187_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI187_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI187_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI187_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test188:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI187_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI187_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI187_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI187_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -27.0000000000, double -27.0000000000 }
+}
+
+define dso_local { float, double } @test189() {
+; LA32-LABEL: test189:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI188_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI188_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI188_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI188_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test189:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI188_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI188_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI188_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI188_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -28.0000000000, double -28.0000000000 }
+}
+
+define dso_local { float, double } @test190() {
+; LA32-LABEL: test190:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI189_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI189_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI189_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI189_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test190:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI189_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI189_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI189_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI189_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -29.0000000000, double -29.0000000000 }
+}
+
+define dso_local { float, double } @test191() {
+; LA32-LABEL: test191:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI190_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI190_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI190_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI190_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test191:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI190_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI190_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI190_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI190_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -30.0000000000, double -30.0000000000 }
+}
+
+define dso_local { float, double } @test192() {
+; LA32-LABEL: test192:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI191_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI191_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI191_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI191_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test192:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI191_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI191_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI191_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI191_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -31.0000000000, double -31.0000000000 }
+}
+
+define dso_local { float, double } @test193() {
+; LA32-LABEL: test193:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI192_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI192_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI192_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI192_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test193:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI192_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI192_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI192_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI192_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.1250000000, double -0.1250000000 }
+}
+
+define dso_local { float, double } @test194() {
+; LA32-LABEL: test194:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI193_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI193_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI193_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI193_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test194:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI193_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI193_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI193_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI193_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.1328125000, double -0.1328125000 }
+}
+
+define dso_local { float, double } @test195() {
+; LA32-LABEL: test195:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI194_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI194_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI194_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI194_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test195:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI194_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI194_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI194_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI194_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.1406250000, double -0.1406250000 }
+}
+
+define dso_local { float, double } @test196() {
+; LA32-LABEL: test196:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI195_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI195_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI195_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI195_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test196:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI195_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI195_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI195_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI195_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.1484375000, double -0.1484375000 }
+}
+
+define dso_local { float, double } @test197() {
+; LA32-LABEL: test197:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI196_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI196_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI196_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI196_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test197:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI196_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI196_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI196_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI196_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.1562500000, double -0.1562500000 }
+}
+
+define dso_local { float, double } @test198() {
+; LA32-LABEL: test198:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI197_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI197_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI197_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI197_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test198:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI197_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI197_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI197_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI197_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.1640625000, double -0.1640625000 }
+}
+
+define dso_local { float, double } @test199() {
+; LA32-LABEL: test199:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI198_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI198_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI198_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI198_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test199:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI198_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI198_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI198_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI198_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.1718750000, double -0.1718750000 }
+}
+
+define dso_local { float, double } @test200() {
+; LA32-LABEL: test200:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI199_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI199_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI199_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI199_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test200:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI199_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI199_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI199_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI199_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.1796875000, double -0.1796875000 }
+}
+
+define dso_local { float, double } @test201() {
+; LA32-LABEL: test201:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI200_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI200_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI200_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI200_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test201:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI200_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI200_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI200_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI200_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.1875000000, double -0.1875000000 }
+}
+
+define dso_local { float, double } @test202() {
+; LA32-LABEL: test202:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI201_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI201_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI201_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI201_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test202:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI201_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI201_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI201_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI201_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.1953125000, double -0.1953125000 }
+}
+
+define dso_local { float, double } @test203() {
+; LA32-LABEL: test203:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI202_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI202_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI202_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI202_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test203:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI202_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI202_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI202_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI202_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.2031250000, double -0.2031250000 }
+}
+
+define dso_local { float, double } @test204() {
+; LA32-LABEL: test204:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI203_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI203_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI203_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI203_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test204:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI203_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI203_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI203_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI203_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.2109375000, double -0.2109375000 }
+}
+
+define dso_local { float, double } @test205() {
+; LA32-LABEL: test205:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI204_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI204_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI204_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI204_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test205:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI204_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI204_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI204_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI204_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.2187500000, double -0.2187500000 }
+}
+
+define dso_local { float, double } @test206() {
+; LA32-LABEL: test206:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI205_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI205_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI205_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI205_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test206:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI205_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI205_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI205_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI205_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.2265625000, double -0.2265625000 }
+}
+
+define dso_local { float, double } @test207() {
+; LA32-LABEL: test207:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI206_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI206_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI206_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI206_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test207:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI206_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI206_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI206_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI206_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.2343750000, double -0.2343750000 }
+}
+
+define dso_local { float, double } @test208() {
+; LA32-LABEL: test208:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI207_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI207_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI207_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI207_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test208:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI207_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI207_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI207_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI207_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.2421875000, double -0.2421875000 }
+}
+
+define dso_local { float, double } @test209() {
+; LA32-LABEL: test209:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI208_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI208_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI208_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI208_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test209:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI208_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI208_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI208_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI208_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.2500000000, double -0.2500000000 }
+}
+
+define dso_local { float, double } @test210() {
+; LA32-LABEL: test210:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI209_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI209_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI209_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI209_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test210:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI209_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI209_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI209_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI209_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.2656250000, double -0.2656250000 }
+}
+
+define dso_local { float, double } @test211() {
+; LA32-LABEL: test211:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI210_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI210_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI210_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI210_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test211:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI210_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI210_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI210_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI210_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.2812500000, double -0.2812500000 }
+}
+
+define dso_local { float, double } @test212() {
+; LA32-LABEL: test212:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI211_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI211_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI211_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI211_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test212:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI211_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI211_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI211_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI211_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.2968750000, double -0.2968750000 }
+}
+
+define dso_local { float, double } @test213() {
+; LA32-LABEL: test213:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI212_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI212_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI212_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI212_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test213:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI212_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI212_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI212_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI212_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.3125000000, double -0.3125000000 }
+}
+
+define dso_local { float, double } @test214() {
+; LA32-LABEL: test214:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI213_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI213_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI213_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI213_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test214:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI213_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI213_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI213_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI213_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.3281250000, double -0.3281250000 }
+}
+
+define dso_local { float, double } @test215() {
+; LA32-LABEL: test215:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI214_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI214_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI214_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI214_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test215:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI214_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI214_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI214_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI214_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.3437500000, double -0.3437500000 }
+}
+
+define dso_local { float, double } @test216() {
+; LA32-LABEL: test216:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI215_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI215_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI215_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI215_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test216:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI215_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI215_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI215_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI215_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.3593750000, double -0.3593750000 }
+}
+
+define dso_local { float, double } @test217() {
+; LA32-LABEL: test217:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI216_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI216_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI216_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI216_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test217:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI216_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI216_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI216_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI216_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.3750000000, double -0.3750000000 }
+}
+
+define dso_local { float, double } @test218() {
+; LA32-LABEL: test218:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI217_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI217_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI217_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI217_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test218:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI217_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI217_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI217_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI217_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.3906250000, double -0.3906250000 }
+}
+
+define dso_local { float, double } @test219() {
+; LA32-LABEL: test219:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI218_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI218_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI218_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI218_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test219:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI218_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI218_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI218_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI218_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.4062500000, double -0.4062500000 }
+}
+
+define dso_local { float, double } @test220() {
+; LA32-LABEL: test220:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI219_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI219_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI219_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI219_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test220:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI219_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI219_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI219_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI219_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.4218750000, double -0.4218750000 }
+}
+
+define dso_local { float, double } @test221() {
+; LA32-LABEL: test221:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI220_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI220_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI220_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI220_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test221:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI220_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI220_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI220_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI220_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.4375000000, double -0.4375000000 }
+}
+
+define dso_local { float, double } @test222() {
+; LA32-LABEL: test222:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI221_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI221_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI221_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI221_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test222:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI221_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI221_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI221_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI221_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.4531250000, double -0.4531250000 }
+}
+
+define dso_local { float, double } @test223() {
+; LA32-LABEL: test223:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI222_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI222_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI222_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI222_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test223:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI222_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI222_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI222_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI222_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.4687500000, double -0.4687500000 }
+}
+
+define dso_local { float, double } @test224() {
+; LA32-LABEL: test224:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI223_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI223_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI223_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI223_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test224:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI223_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI223_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI223_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI223_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.4843750000, double -0.4843750000 }
+}
+
+define dso_local { float, double } @test225() {
+; LA32-LABEL: test225:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI224_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI224_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI224_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI224_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test225:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI224_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI224_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI224_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI224_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.5000000000, double -0.5000000000 }
+}
+
+define dso_local { float, double } @test226() {
+; LA32-LABEL: test226:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI225_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI225_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI225_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI225_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test226:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI225_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI225_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI225_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI225_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.5312500000, double -0.5312500000 }
+}
+
+define dso_local { float, double } @test227() {
+; LA32-LABEL: test227:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI226_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI226_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI226_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI226_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test227:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI226_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI226_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI226_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI226_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.5625000000, double -0.5625000000 }
+}
+
+define dso_local { float, double } @test228() {
+; LA32-LABEL: test228:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI227_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI227_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI227_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI227_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test228:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI227_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI227_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI227_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI227_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.5937500000, double -0.5937500000 }
+}
+
+define dso_local { float, double } @test229() {
+; LA32-LABEL: test229:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI228_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI228_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI228_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI228_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test229:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI228_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI228_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI228_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI228_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.6250000000, double -0.6250000000 }
+}
+
+define dso_local { float, double } @test230() {
+; LA32-LABEL: test230:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI229_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI229_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI229_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI229_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test230:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI229_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI229_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI229_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI229_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.6562500000, double -0.6562500000 }
+}
+
+define dso_local { float, double } @test231() {
+; LA32-LABEL: test231:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI230_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI230_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI230_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI230_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test231:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI230_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI230_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI230_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI230_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.6875000000, double -0.6875000000 }
+}
+
+define dso_local { float, double } @test232() {
+; LA32-LABEL: test232:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI231_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI231_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI231_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI231_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test232:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI231_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI231_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI231_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI231_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.7187500000, double -0.7187500000 }
+}
+
+define dso_local { float, double } @test233() {
+; LA32-LABEL: test233:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI232_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI232_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI232_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI232_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test233:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI232_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI232_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI232_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI232_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.7500000000, double -0.7500000000 }
+}
+
+define dso_local { float, double } @test234() {
+; LA32-LABEL: test234:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI233_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI233_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI233_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI233_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test234:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI233_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI233_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI233_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI233_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.7812500000, double -0.7812500000 }
+}
+
+define dso_local { float, double } @test235() {
+; LA32-LABEL: test235:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI234_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI234_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI234_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI234_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test235:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI234_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI234_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI234_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI234_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.8125000000, double -0.8125000000 }
+}
+
+define dso_local { float, double } @test236() {
+; LA32-LABEL: test236:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI235_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI235_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI235_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI235_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test236:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI235_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI235_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI235_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI235_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.8437500000, double -0.8437500000 }
+}
+
+define dso_local { float, double } @test237() {
+; LA32-LABEL: test237:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI236_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI236_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI236_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI236_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test237:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI236_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI236_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI236_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI236_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.8750000000, double -0.8750000000 }
+}
+
+define dso_local { float, double } @test238() {
+; LA32-LABEL: test238:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI237_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI237_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI237_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI237_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test238:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI237_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI237_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI237_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI237_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.9062500000, double -0.9062500000 }
+}
+
+define dso_local { float, double } @test239() {
+; LA32-LABEL: test239:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI238_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI238_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI238_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI238_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test239:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI238_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI238_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI238_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI238_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.9375000000, double -0.9375000000 }
+}
+
+define dso_local { float, double } @test240() {
+; LA32-LABEL: test240:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI239_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI239_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI239_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI239_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test240:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI239_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI239_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI239_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI239_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -0.9687500000, double -0.9687500000 }
+}
+
+define dso_local { float, double } @test241() {
+; LA32-LABEL: test241:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI240_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI240_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI240_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI240_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test241:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI240_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI240_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI240_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI240_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -1.0000000000, double -1.0000000000 }
+}
+
+define dso_local { float, double } @test242() {
+; LA32-LABEL: test242:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI241_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI241_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI241_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI241_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test242:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI241_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI241_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI241_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI241_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -1.0625000000, double -1.0625000000 }
+}
+
+define dso_local { float, double } @test243() {
+; LA32-LABEL: test243:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI242_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI242_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI242_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI242_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test243:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI242_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI242_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI242_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI242_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -1.1250000000, double -1.1250000000 }
+}
+
+define dso_local { float, double } @test244() {
+; LA32-LABEL: test244:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI243_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI243_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI243_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI243_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test244:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI243_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI243_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI243_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI243_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -1.1875000000, double -1.1875000000 }
+}
+
+define dso_local { float, double } @test245() {
+; LA32-LABEL: test245:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI244_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI244_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI244_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI244_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test245:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI244_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI244_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI244_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI244_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -1.2500000000, double -1.2500000000 }
+}
+
+define dso_local { float, double } @test246() {
+; LA32-LABEL: test246:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI245_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI245_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI245_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI245_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test246:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI245_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI245_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI245_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI245_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -1.3125000000, double -1.3125000000 }
+}
+
+define dso_local { float, double } @test247() {
+; LA32-LABEL: test247:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI246_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI246_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI246_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI246_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test247:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI246_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI246_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI246_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI246_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -1.3750000000, double -1.3750000000 }
+}
+
+define dso_local { float, double } @test248() {
+; LA32-LABEL: test248:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI247_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI247_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI247_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI247_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test248:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI247_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI247_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI247_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI247_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -1.4375000000, double -1.4375000000 }
+}
+
+define dso_local { float, double } @test249() {
+; LA32-LABEL: test249:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI248_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI248_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI248_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI248_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test249:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI248_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI248_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI248_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI248_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -1.5000000000, double -1.5000000000 }
+}
+
+define dso_local { float, double } @test250() {
+; LA32-LABEL: test250:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI249_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI249_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI249_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI249_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test250:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI249_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI249_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI249_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI249_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -1.5625000000, double -1.5625000000 }
+}
+
+define dso_local { float, double } @test251() {
+; LA32-LABEL: test251:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI250_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI250_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI250_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI250_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test251:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI250_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI250_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI250_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI250_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -1.6250000000, double -1.6250000000 }
+}
+
+define dso_local { float, double } @test252() {
+; LA32-LABEL: test252:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI251_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI251_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI251_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI251_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test252:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI251_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI251_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI251_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI251_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -1.6875000000, double -1.6875000000 }
+}
+
+define dso_local { float, double } @test253() {
+; LA32-LABEL: test253:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI252_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI252_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI252_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI252_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test253:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI252_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI252_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI252_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI252_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -1.7500000000, double -1.7500000000 }
+}
+
+define dso_local { float, double } @test254() {
+; LA32-LABEL: test254:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI253_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI253_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI253_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI253_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test254:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI253_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI253_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI253_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI253_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -1.8125000000, double -1.8125000000 }
+}
+
+define dso_local { float, double } @test255() {
+; LA32-LABEL: test255:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI254_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI254_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI254_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI254_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test255:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI254_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI254_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI254_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI254_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -1.8750000000, double -1.8750000000 }
+}
+
+define dso_local { float, double } @test256() {
+; LA32-LABEL: test256:
+; LA32: # %bb.0: # %entry
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI255_0)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI255_0)
+; LA32-NEXT: fld.s $fa0, $a0, 0
+; LA32-NEXT: pcalau12i $a0, %pc_hi20(.LCPI255_1)
+; LA32-NEXT: addi.w $a0, $a0, %pc_lo12(.LCPI255_1)
+; LA32-NEXT: fld.d $fa1, $a0, 0
+; LA32-NEXT: ret
+;
+; LA64-LABEL: test256:
+; LA64: # %bb.0: # %entry
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI255_0)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI255_0)
+; LA64-NEXT: fld.s $fa0, $a0, 0
+; LA64-NEXT: pcalau12i $a0, %pc_hi20(.LCPI255_1)
+; LA64-NEXT: addi.d $a0, $a0, %pc_lo12(.LCPI255_1)
+; LA64-NEXT: fld.d $fa1, $a0, 0
+; LA64-NEXT: ret
+entry:
+ ret { float, double } { float -1.9375000000, double -1.9375000000 }
+}
More information about the llvm-commits
mailing list