xref: /llvm-project/llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/constants.ll (revision 2bf4eeeeb60daba9534dd55088067fcf5a65f86b)
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
3
4define i64 @any_i64() {
5; MIPS32-LABEL: any_i64:
6; MIPS32:       # %bb.0: # %entry
7; MIPS32-NEXT:    ori $2, $zero, 0
8; MIPS32-NEXT:    lui $3, 32768
9; MIPS32-NEXT:    jr $ra
10; MIPS32-NEXT:    nop
11entry:
12  ret i64 -9223372036854775808
13}
14
15define i32 @any_i32() {
16; MIPS32-LABEL: any_i32:
17; MIPS32:       # %bb.0: # %entry
18; MIPS32-NEXT:    lui $2, 32768
19; MIPS32-NEXT:    jr $ra
20; MIPS32-NEXT:    nop
21entry:
22  ret i32 -2147483648
23}
24
25define signext i16 @signed_i16() {
26; MIPS32-LABEL: signed_i16:
27; MIPS32:       # %bb.0: # %entry
28; MIPS32-NEXT:    addiu $2, $zero, 32768
29; MIPS32-NEXT:    jr $ra
30; MIPS32-NEXT:    nop
31entry:
32  ret i16 -32768
33}
34
35define signext i8 @signed_i8() {
36; MIPS32-LABEL: signed_i8:
37; MIPS32:       # %bb.0: # %entry
38; MIPS32-NEXT:    addiu $2, $zero, 65408
39; MIPS32-NEXT:    jr $ra
40; MIPS32-NEXT:    nop
41entry:
42  ret i8 -128
43}
44
45define zeroext i16 @unsigned_i16() {
46; MIPS32-LABEL: unsigned_i16:
47; MIPS32:       # %bb.0: # %entry
48; MIPS32-NEXT:    ori $2, $zero, 32768
49; MIPS32-NEXT:    jr $ra
50; MIPS32-NEXT:    nop
51entry:
52  ret i16 -32768
53}
54
55define zeroext i8 @unsigned_i8() {
56; MIPS32-LABEL: unsigned_i8:
57; MIPS32:       # %bb.0: # %entry
58; MIPS32-NEXT:    ori $2, $zero, 128
59; MIPS32-NEXT:    jr $ra
60; MIPS32-NEXT:    nop
61entry:
62  ret i8 -128
63}
64
65define zeroext i1 @i1_true() {
66; MIPS32-LABEL: i1_true:
67; MIPS32:       # %bb.0: # %entry
68; MIPS32-NEXT:    ori $2, $zero, 1
69; MIPS32-NEXT:    jr $ra
70; MIPS32-NEXT:    nop
71entry:
72  ret i1 true
73}
74
75define zeroext i1 @i1_false() {
76; MIPS32-LABEL: i1_false:
77; MIPS32:       # %bb.0: # %entry
78; MIPS32-NEXT:    ori $2, $zero, 0
79; MIPS32-NEXT:    jr $ra
80; MIPS32-NEXT:    nop
81entry:
82  ret i1 false
83}
84
85define i32 @_0xABCD0000() {
86; MIPS32-LABEL: _0xABCD0000:
87; MIPS32:       # %bb.0: # %entry
88; MIPS32-NEXT:    lui $2, 43981
89; MIPS32-NEXT:    jr $ra
90; MIPS32-NEXT:    nop
91entry:
92  ret i32 -1412628480
93}
94
95define i32 @_0x00008000() {
96; MIPS32-LABEL: _0x00008000:
97; MIPS32:       # %bb.0: # %entry
98; MIPS32-NEXT:    ori $2, $zero, 32768
99; MIPS32-NEXT:    jr $ra
100; MIPS32-NEXT:    nop
101entry:
102  ret i32 32768
103}
104
105define i32 @_0xFFFFFFF6() {
106; MIPS32-LABEL: _0xFFFFFFF6:
107; MIPS32:       # %bb.0: # %entry
108; MIPS32-NEXT:    addiu $2, $zero, 65526
109; MIPS32-NEXT:    jr $ra
110; MIPS32-NEXT:    nop
111entry:
112  ret i32 -10
113}
114
115define i32 @_0x0A0B0C0D() {
116; MIPS32-LABEL: _0x0A0B0C0D:
117; MIPS32:       # %bb.0: # %entry
118; MIPS32-NEXT:    lui $1, 2571
119; MIPS32-NEXT:    ori $2, $1, 3085
120; MIPS32-NEXT:    jr $ra
121; MIPS32-NEXT:    nop
122entry:
123  ret i32 168496141
124}
125