xref: /llvm-project/llvm/test/CodeGen/Xtensa/constantpool.ll (revision 36209d366d833263d71df328ecca75cf144b1893)
1; RUN: llc -mtriple=xtensa -verify-machineinstrs < %s \
2; RUN:   | FileCheck %s
3
4; Test placement of the i32,i64, float and double constants in constantpool
5
6define dso_local i32 @const_i32() #0 {
7; CHECK: .literal_position
8; CHECK-NEXT: .literal .LCPI0_0, 74565
9; CHECK-LABEL: const_i32:
10; CHECK: l32r a2, .LCPI0_0
11  %1 = alloca i32, align 4
12  store i32 74565, ptr %1, align 4
13  %2 = load i32, ptr %1, align 4
14  ret i32 %2
15}
16
17define dso_local i64 @const_int64() #0 {
18; CHECK: .literal_position
19; CHECK-NEXT: .literal .LCPI1_0, 305419896
20; CHECK-NEXT: .literal .LCPI1_1, -1859959449
21; CHECK-LABEL: const_int64:
22; CHECK: l32r a3, .LCPI1_0
23; CHECK: l32r a2, .LCPI1_1
24  %1 = alloca i64, align 8
25  store i64 1311768467302729063, ptr %1, align 8
26  %2 = load i64, ptr %1, align 8
27  ret i64 %2
28}
29