[LLVM][IR] Use splat syntax when printing ConstantExpr based splats. (#116856)
[llvm-project.git] / llvm / test / CodeGen / RISCV / GlobalISel / instruction-select / constant32.mir
blobcb66c3081c3a95311ff1590f070afaf52c644288
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=riscv32 -run-pass=instruction-select %s -o - \
3 # RUN: | FileCheck %s
4 ---
5 name:            const_i32_INT_MIN
6 legalized:       true
7 regBankSelected: true
8 tracksRegLiveness: true
9 body:            |
10   bb.0:
11     liveins: $x10
13     ; CHECK-LABEL: name: const_i32_INT_MIN
14     ; CHECK: liveins: $x10
15     ; CHECK-NEXT: {{  $}}
16     ; CHECK-NEXT: [[LUI:%[0-9]+]]:gpr = LUI 524288
17     ; CHECK-NEXT: $x10 = COPY [[LUI]]
18     ; CHECK-NEXT: PseudoRET implicit $x10
19     %0:gprb(s32) = G_CONSTANT i32 -2147483648
20     $x10 = COPY %0(s32)
21     PseudoRET implicit $x10
23 ...
24 ---
25 name:            const_i32_neg_2147483000
26 legalized:       true
27 regBankSelected: true
28 tracksRegLiveness: true
29 body:            |
30   bb.0:
31     liveins: $x10
33     ; CHECK-LABEL: name: const_i32_neg_2147483000
34     ; CHECK: liveins: $x10
35     ; CHECK-NEXT: {{  $}}
36     ; CHECK-NEXT: [[LUI:%[0-9]+]]:gpr = LUI 524288
37     ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI [[LUI]], 648
38     ; CHECK-NEXT: $x10 = COPY [[ADDI]]
39     ; CHECK-NEXT: PseudoRET implicit $x10
40     %0:gprb(s32) = G_CONSTANT i32 -2147483000
41     $x10 = COPY %0(s32)
42     PseudoRET implicit $x10
44 ...
45 ---
46 name:            const_i32_INT_MAX
47 legalized:       true
48 regBankSelected: true
49 tracksRegLiveness: true
50 body:            |
51   bb.0:
52     liveins: $x10
54     ; CHECK-LABEL: name: const_i32_INT_MAX
55     ; CHECK: liveins: $x10
56     ; CHECK-NEXT: {{  $}}
57     ; CHECK-NEXT: [[LUI:%[0-9]+]]:gpr = LUI 524288
58     ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI [[LUI]], -1
59     ; CHECK-NEXT: $x10 = COPY [[ADDI]]
60     ; CHECK-NEXT: PseudoRET implicit $x10
61     %0:gprb(s32) = G_CONSTANT i32 2147483647
62     $x10 = COPY %0(s32)
63     PseudoRET implicit $x10
65 ...
66 ---
67 name:            const_i32_2147483000
68 legalized:       true
69 regBankSelected: true
70 tracksRegLiveness: true
71 body:            |
72   bb.0:
73     liveins: $x10
75     ; CHECK-LABEL: name: const_i32_2147483000
76     ; CHECK: liveins: $x10
77     ; CHECK-NEXT: {{  $}}
78     ; CHECK-NEXT: [[LUI:%[0-9]+]]:gpr = LUI 524288
79     ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI [[LUI]], -648
80     ; CHECK-NEXT: $x10 = COPY [[ADDI]]
81     ; CHECK-NEXT: PseudoRET implicit $x10
82     %0:gprb(s32) = G_CONSTANT i32 2147483000
83     $x10 = COPY %0(s32)
84     PseudoRET implicit $x10
86 ...
87 ---
88 name:            const_i32_256
89 legalized:       true
90 regBankSelected: true
91 tracksRegLiveness: true
92 body:            |
93   bb.0:
94     liveins: $x10
96     ; CHECK-LABEL: name: const_i32_256
97     ; CHECK: liveins: $x10
98     ; CHECK-NEXT: {{  $}}
99     ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, 256
100     ; CHECK-NEXT: $x10 = COPY [[ADDI]]
101     ; CHECK-NEXT: PseudoRET implicit $x10
102     %0:gprb(s32) = G_CONSTANT i32 256
103     $x10 = COPY %0(s32)
104     PseudoRET implicit $x10
108 name:            const_i32_0
109 legalized:       true
110 regBankSelected: true
111 tracksRegLiveness: true
112 body:            |
113   bb.0:
114     liveins: $x10
116     ; CHECK-LABEL: name: const_i32_0
117     ; CHECK: liveins: $x10
118     ; CHECK-NEXT: {{  $}}
119     ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x0
120     ; CHECK-NEXT: $x10 = COPY [[COPY]]
121     ; CHECK-NEXT: PseudoRET implicit $x10
122     %0:gprb(s32) = G_CONSTANT i32 0
123     $x10 = COPY %0(s32)
124     PseudoRET implicit $x10