[MIPS GlobalISel] NarrowScalar G_ZEXTLOAD and G_SEXTLOAD
[llvm-complete.git] / test / CodeGen / Mips / GlobalISel / llvm-ir / float_constants.ll
blobf4ca9e5b53711fdb0ba41945d4af75d76f217660
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
5 define 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
13 entry:
14   ret float 0x4005BF0A80000000
17 define 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 $1, $1, 48906
22 ; FP32-NEXT:    lui $2, 35604
23 ; FP32-NEXT:    ori $2, $2, 22377
24 ; FP32-NEXT:    mtc1 $2, $f0
25 ; FP32-NEXT:    mtc1 $1, $f1
26 ; FP32-NEXT:    jr $ra
27 ; FP32-NEXT:    nop
29 ; FP64-LABEL: e_double_precision:
30 ; FP64:       # %bb.0: # %entry
31 ; FP64-NEXT:    lui $1, 16389
32 ; FP64-NEXT:    ori $1, $1, 48906
33 ; FP64-NEXT:    lui $2, 35604
34 ; FP64-NEXT:    ori $2, $2, 22377
35 ; FP64-NEXT:    mtc1 $2, $f0
36 ; FP64-NEXT:    mthc1 $1, $f0
37 ; FP64-NEXT:    jr $ra
38 ; FP64-NEXT:    nop
39 entry:
40   ret double 0x4005BF0A8B145769