xref: /llvm-project/llvm/test/CodeGen/Xtensa/stack-access.ll (revision 36209d366d833263d71df328ecca75cf144b1893)
1*36209d36SAndrei Safronov; RUN: llc -mtriple=xtensa -O0 -verify-machineinstrs < %s \
2*36209d36SAndrei Safronov; RUN:   | FileCheck %s -check-prefix=XTENSA
3*36209d36SAndrei Safronov
4*36209d36SAndrei Safronovdefine i8 @loadi8(i8 %a) {
5*36209d36SAndrei Safronov; XTENSA-LABEL: loadi8:
6*36209d36SAndrei Safronov; XTENSA: s8i	a2, a1, 3
7*36209d36SAndrei Safronov; XTENSA: l8ui	a2, a1, 3
8*36209d36SAndrei Safronov; XTENSA: ret
9*36209d36SAndrei Safronov  %b = alloca i8, align 1
10*36209d36SAndrei Safronov  store i8 %a, ptr %b, align 1
11*36209d36SAndrei Safronov  %1 = load i8, ptr %b, align 1
12*36209d36SAndrei Safronov  ret i8 %1
13*36209d36SAndrei Safronov}
14*36209d36SAndrei Safronov
15*36209d36SAndrei Safronovdefine i16 @loadi16(i16 %a) {
16*36209d36SAndrei Safronov; XTENSA-LABEL: loadi16:
17*36209d36SAndrei Safronov; XTENSA: s16i	a2, a1, 2
18*36209d36SAndrei Safronov; XTENSA: l16ui	a2, a1, 2
19*36209d36SAndrei Safronov; XTENSA: ret
20*36209d36SAndrei Safronov	%b = alloca i16, align 2
21*36209d36SAndrei Safronov  store i16 %a, ptr %b, align 2
22*36209d36SAndrei Safronov  %1 = load i16, ptr %b, align 2
23*36209d36SAndrei Safronov	ret i16 %1
24*36209d36SAndrei Safronov}
25*36209d36SAndrei Safronov
26*36209d36SAndrei Safronovdefine i32 @loadi32(i32 %a) {
27*36209d36SAndrei Safronov; XTENSA-LABEL: loadi32:
28*36209d36SAndrei Safronov; XTENSA: s32i	a2, a1, 0
29*36209d36SAndrei Safronov; XTENSA: l32i	a2, a1, 0
30*36209d36SAndrei Safronov; XTENSA: ret
31*36209d36SAndrei Safronov	%b = alloca i32, align 4
32*36209d36SAndrei Safronov  store i32 %a, ptr %b, align 4
33*36209d36SAndrei Safronov  %1 = load i32, ptr %b, align 4
34*36209d36SAndrei Safronov	ret i32 %1
35*36209d36SAndrei Safronov}
36