1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc  -O0 -mtriple=mipsel-linux-gnu -global-isel -verify-machineinstrs %s -o -| FileCheck %s -check-prefixes=MIPS32,FP32
3; RUN: llc  -O0 -mtriple=mipsel-linux-gnu -mattr=+fp64,+mips32r2 -global-isel -verify-machineinstrs %s -o -| FileCheck %s -check-prefixes=MIPS32,FP64
4
5define float @e_single_precision() {
6; MIPS32-LABEL: e_single_precision:
7; MIPS32:       # %bb.0: # %entry
8; MIPS32-NEXT:    lui $1, 16429
9; MIPS32-NEXT:    ori $1, $1, 63572
10; MIPS32-NEXT:    mtc1 $1, $f0
11; MIPS32-NEXT:    jr $ra
12; MIPS32-NEXT:    nop
13entry:
14  ret float 0x4005BF0A80000000
15}
16
17define double @e_double_precision() {
18; FP32-LABEL: e_double_precision:
19; FP32:       # %bb.0: # %entry
20; FP32-NEXT:    lui $1, 16389
21; FP32-NEXT:    ori $2, $1, 48906
22; FP32-NEXT:    lui $1, 35604
23; FP32-NEXT:    ori $1, $1, 22377
24; FP32-NEXT:    mtc1 $1, $f0
25; FP32-NEXT:    mtc1 $2, $f1
26; FP32-NEXT:    jr $ra
27; FP32-NEXT:    nop
28;
29; FP64-LABEL: e_double_precision:
30; FP64:       # %bb.0: # %entry
31; FP64-NEXT:    lui $1, 16389
32; FP64-NEXT:    ori $2, $1, 48906
33; FP64-NEXT:    lui $1, 35604
34; FP64-NEXT:    ori $1, $1, 22377
35; FP64-NEXT:    mtc1 $1, $f0
36; FP64-NEXT:    mthc1 $2, $f0
37; FP64-NEXT:    jr $ra
38; FP64-NEXT:    nop
39entry:
40  ret double 0x4005BF0A8B145769
41}
42