xref: /llvm-project/llvm/test/CodeGen/PowerPC/constant-combines.ll (revision b922a3621116b404d868af8b74cab25ab78555be)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc -mtriple=powerpc64-unknown-linux-gnu   -o - %s | FileCheck --check-prefix=BE %s
3; RUN: llc -mtriple=powerpc64-ibm-aix-xcoff -o - %s | FileCheck --check-prefix=BE %s
4; RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -o - %s | FileCheck --check-prefix=LE %s
5
6define void @fold_constant_stores_loaddr(ptr %i8_ptr) {
7; BE-LABEL: fold_constant_stores_loaddr:
8; BE:       # %bb.0: # %entry
9; BE-NEXT:    li 4, 0
10; BE-NEXT:    std 4, 0(3)
11; BE-NEXT:    li 4, -86
12; BE-NEXT:    stb 4, 0(3)
13; BE-NEXT:    blr
14;
15; LE-LABEL: fold_constant_stores_loaddr:
16; LE:       # %bb.0: # %entry
17; LE-NEXT:    li 4, 0
18; LE-NEXT:    std 4, 0(3)
19; LE-NEXT:    li 4, -86
20; LE-NEXT:    stb 4, 0(3)
21; LE-NEXT:    blr
22entry:
23  store i64   0, ptr %i8_ptr, align 8
24  store i8  170,  ptr  %i8_ptr,  align 1
25  ret void
26}
27
28
29define void @fold_constant_stores_hiaddr(ptr %i8_ptr) {
30; BE-LABEL: fold_constant_stores_hiaddr:
31; BE:       # %bb.0: # %entry
32; BE-NEXT:    li 4, 0
33; BE-NEXT:    std 4, 0(3)
34; BE-NEXT:    li 4, -86
35; BE-NEXT:    stb 4, 0(3)
36; BE-NEXT:    blr
37;
38; LE-LABEL: fold_constant_stores_hiaddr:
39; LE:       # %bb.0: # %entry
40; LE-NEXT:    li 4, 0
41; LE-NEXT:    std 4, 0(3)
42; LE-NEXT:    li 4, -86
43; LE-NEXT:    stb 4, 0(3)
44; LE-NEXT:    blr
45entry:
46  store i64   0, ptr %i8_ptr, align 8
47  %i8_ptr2 = getelementptr inbounds i8, ptr %i8_ptr, i64 7
48  store i8  170,  ptr  %i8_ptr,  align 1
49  ret void
50}
51